6.4 Zugriffsschutz in Datenbanken

Größe: px
Ab Seite anzeigen:

Download "6.4 Zugriffsschutz in Datenbanken"

Transkript

1 6.4 Zugriffsschutz in Datenbanken Relationale Datenbank besteht aus einer Menge von Tabellen (Relationen). Tabellen werden über Referenzen verbunden. Tabellen werden mengentheoretisch verknüpft und verarbeitet. Datenbank-Schema beschreibt die Tabellen. Zeilen der Tabelle werden als Tupel, die Spalten als Attribute bezeichnet. Wir beschäftigen uns nun mit Zugriffsschutzmechanismen in relationalen Datenbanken. Eine relationale Datenbank besteht aus einer Menge von Tabellen (Relationen), die durch Referenzen verknüpft sind. Die in den Tabellen gespeicherten Daten werden durch Operatoren mengenorientiert verknüpft und verarbeitet. Ein Datenbank-Schema beschreibt eine Tabelle, eine Instanz eines Schemas ist dann eine spezielle Ausprägung, d.h. Belegung der Tabelle mit Daten. Eine Zeile in einer Tabelle wird als Tupel bezeichnet, die Spalten als Attribute. 1

2 6.4 Zugriffsschutz in Datenbanken Beispiel: Primärschlüssel Signatur Autor Titel BenutzerNr Name Adresse Bücher Tupel ISBN30 ISBN32 ISBN40 Grass Heinz Kochrezepte Blechtrommel Benutzer Fritz Anna Berlin Hamburg Attribute Ausleihe Buch ISBN32 Leser 200 enthält Fremdschlüssel Der Primärschlüssel identifiziert die Tupel in der Tabelle eindeutig. Fremdschlüssel realisieren Verweise zwischen Tupeln unterschiedlicher Tabellen. 2

3 6.4 Zugriffsschutz in Datenbanken SQL ist Anfragesprache, die die Definition, Anfrage und Änderung einer Datenbank ermöglicht. Schemadefinition: create table Bücher (Signatur varchar(12) not null, Autor varchar(15), Titel varchar(30) not null); Einfügen von Tupeln: insert into Bücher values (`ISBN32`, `Heinz`, `Kochrezepte`); SQL ist eine deklarative Anfragesprache, bei der der Benutzer angibt, welche Daten ihn oder sie interessieren. Eine neue Tabelle wird mit dem create table Befehl erzeugt. Um eine Tabelle mit Daten zu füllen, wird der Befehl insert verwendet. 3

4 6.4 Zugriffsschutz in Datenbanken Einfache SQL-Anfragen: liefert Menge von Paaren (Signatur, Titel) vom Autor Grass select Signatur, Titel from Bücher where Autor = 'Grass'; liefert Menge von Tripeln select * from Benutzer where Name = Fritz'; Anfragen können mit dem select Befehl gestellt werden. Beispiele zeigt die Folie. 4

5 6.4 Zugriffsschutz in Datenbanken Anfragen über mehrere Relationen select Titel from Bücher, Ausleihe, Benutzer where Name = Anna' and BenutzerNr = Leser and Signatur = Buch; 5

6 6.4 Zugriffsschutz in Datenbanken Sichten (views) sind virtuelle Tabellen die bei jeder Verwendung ad-hoc aus den realen Tabellen generiert werden. create view Präferenzen(Name, Titel) as select Name, Titel from Bücher, Ausleihe, Benutzer where Benutzer = Leser and Signatur = Buch; select Titel from Präferenzen where Name = Anna'; Sichten bieten virtuelle Tabellen an, die nur einen Ausschnitt des gesamten Modells zeigen. Für virtuelle Tabellen werden keine neuen Tabellen angelegt, sondern sie werden bei jeder Verwendung neu berechnet. 6

7 6.4 Zugriffsschutz in Datenbanken Formulierung von Schutzstrategien in SQL Zugangskontrolle meist über Passwörter. Autorisierung erfolgt über die Kommandos grant und revoke zum Zuweisen bzw. Entziehen von Privilegien. Privilegien: Rechte, Typen von SQL Statements auf Daten auszuführen (z.b. SELCET, INSERT, DELETE etc.) Werden Benutzern und Rollen zugeordnet. Erzeuger hat alle Privilegien auf den Daten. Die Zugangskontrolle bei Datenbanken erfolgt meistens über Passwörter. Die Passwörter werden üblicherweise bei der Einrichtung der Benutzererkennung verschlüsselt gespeichert. In SQL existiert ein Befehl zur Vergabe von Privilegien (grant) und einer zum Entzug von Privilegien (revoke). Privilegien sind Rechte, Typen von SQL Statements auf Daten auszuführen. So kann einem Benutzer beispielsweise das SELECT-Kommando auf einer Tabelle gewährt oder das INSERT-Kommando auf einer View entzogen werden. Die Privilegien können direkt an Benutzer, aber auch an Rollen vergeben werden. In diesem Fall haben dann alle Mitglieder einer Rolle die der Rolle zugewiesenen Privilegien. Der Erzeuger von Daten hat alle Privilegien auf den Daten. 7

8 6.4 Zugriffsschutz in Datenbanken GRANT-Kommando zum Zuweisen von Privilegien. GRANT <privileges> ON <object> TO [<users> <role>] [WITH GRANT OPTION] GRANT OPTION: Recht, Privilegien an andere Benutzer weiterzureichen. Nach dem GRANT-Kommando hat der <user> das <privilege> auf dem <object> (Zugriffsmatrix) Das Grant-Kommando weist ein Privileg (z.b. SELECT, UPDATE) auf einem Objekt (z.b. eine Tabelle, Sicht) einem Benutzer oder einer Rolle zu. Betrachtet man die Zugriffsschutzmatrix als unterliegendes Modell, bewirkt das Grant-Kommando das Zufügen des Privilegs in die Matrix in der Spalte des Objekts und der Zeile des Benutzers bzw. der Rolle. Wird die GRANT OPTION verwendet, so darf der Benutzer das zugewiesene Privileg ebenfalls anderen Benutzern gewähren. 8

9 6.4 Zugriffsschutz in Datenbanken Beispiele: GRANT INSERT, SELECT ON Movie TO Klaus Klaus darf anfragen an die Tabelle Movie stellen und neue Tupel zufügen. GRANT DELETE ON Movie TO Anna WITH GRANT OPTION Anna kann Tupel der Tabelle Movie löschen und andere Benutzer ebenfalls dazu autorisieren. GRANT UPDATE (price_day) ON Movie TO movie_staff Alle Mitglieder der Rolle movie_staff können das Attribut price_day (und nur dieses) von Tupeln der Tabelle Movie ändern. Diese Folie zeigt einige Beispiele für das Grant-Kommando. 9

10 6.4 Zugriffsschutz in Datenbanken Revoke-Kommando zum Entziehen von Privilegien. REVOKE <privileges> ON <object> FROM [<users> <role>] RESTRICT RESTRICT: entziehe das Privileg nur, wenn das Privileg nicht von einem der <users> an andere weitergereicht wurde. Wird ein Privileg von mehreren Benutzern gegeben, muss das Privileg von allen diesen Benutzern entzogen werden, um das Privileg zu verlieren. Mit dem Revoke-Kommando lassen sich einem Benutzer oder einer Rolle Privilegien wieder entziehen. Das Schlüsselwort Restrict spezifiziert, dass Privilegien einem Benutzer jedoch nicht entzogen werden können, wenn dieser das Privileg schon weitergegeben hat, da dann auch allen diesen Benutzen das Privileg entzogen werden müsste. Ein solches transitives Entziehen des Privilegs ist mit diesem einfachen Revoke-Kommando jedoch nicht möglich. Außerdem wird einem Benutzer das Privileg durch ein Revoke-Kommando nicht entzogen, wenn dem Benutzer das Privileg noch von anderen Benutzern gewährt wurde. Um ein Privileg zu verlieren, müssen also alle Benutzer, die dieses Privileg gewährten, ein Revoke ausführen. 10

11 6.4 Zugriffsschutz in Datenbanken Beispiel 1: Owner: GRANT Update ON Movie TO Klaus; Owner: GRANT Update ON Movie TO Anna; Owner: REVOKE Update ON Movie FROM Klaus RESTRICT; Owner und Anna haben das Privilege Update Klaus hat das Privileg Update nicht mehr In diesem Beispiel wird Klaus das Update-Privileg auf die Tabelle Movie vom Owner entzogen. 11

12 6.4 Zugriffsschutz in Datenbanken Beispiel 2: Owner: Klaus: GRANT Update ON Movie TO Klaus WITH GRANT OPTION; GRANT Update ON Movie TO Anna; Owner: REVOKE Update ON Movie FROM Klaus RESTRICT; Revoke hat keinen Effekt: Owner, Anna und Klaus haben das Privileg Update. In diesem Beispiel hat das Revoke-Kommando keinen Effekt auf die Privileg-Zuordnung. Klaus kann das Update-Privileg nicht entzogen werden, da Klaus das Update-Privileg schon an Anna weitergegeben hat. 12

13 6.4 Zugriffsschutz in Datenbanken Revoke-Kommando zum transitiven Entziehen von Privilegien. REVOKE [GRANT OPTION FOR] <privileges> ON <object> FROM <users> {RESTRICT CASCADE} CASCADE: Entziehe das Recht auch allen Benutzern, denen das Privileg von diesen <users> gegeben wurde. RESTRICT: Entziehe das Privileg nur, wenn das Privileg nicht von einem der <users> an andere weitergereicht wurde. Es gibt auch eine Variante des Revoke-Kommandos zum transitiven Entziehen von Privilegien. Dies wird durch das Schlüsselwort Cascade spezifiziert, bei dem dann auch allen Benutzern das Privileg entzogen wird, die das Privileg von dem Benutzer bekamen, auf dem das Revoke-Kommando aufgerufen wird. 13

14 6.4 Zugriffsschutz in Datenbanken GRANT OPTION FOR: Entziehe das Recht zum Weiterreichen des Privilegs an andere Benutzer. Außerdem kann das Recht zum Weiterreichen von Privilegien einem Benutzer wieder entzogen werden. Dies geschieht mit dem Ausdruck GRANT OPTION FOR. 14

15 6.4 Zugriffsschutz in Datenbanken Beispiel 1: Owner: Klaus: GRANT Update ON Movie TO Klaus WITH GRANT OPTION; GRANT Update ON Movie TO Anna; Owner: REVOKE Update ON Movie FROM Klaus CASCADE; Owner hat das Privileg Update. Anna und Klaus wurde das Privileg entzogen. In diesem Beispiel hat das Entziehen des Update-Privilegs vom Benutzer Klaus auch den Entzug des Privilegs vom Benutzer Anna zur Folge, da Anna das Privileg von Klaus gewährt wurde. Da Klaus dieses Privileg nicht mehr hat, darf es somit auch Anna nicht mehr von ihm haben. 15

16 6.4 Zugriffsschutz in Datenbanken Beispiel 2: Owner: Klaus: GRANT Update ON Movie TO Klaus WITH GRANT OPTION; GRANT Update ON Movie TO Anna; Owner: REVOKE GRANT OPTION FOR Update ON Movie FROM Klaus CASCADE; Owner und Klaus haben das Privileg Update. Anna wurde das Privileg Update entzogen. Klaus wurde das GRANT-Recht entzogen. In diesem Beispiel wird Klaus das Recht zum Weiterreichen des Update-Privilegs entzogen. Da das Revoke-Kommando mit der Option CASCADE aufgerufen wurde, muss das Update-Privileg auch allen Benutzern entzogen werden, die das Privileg von Klaus gewährt bekamen. Da Anna das Update- Privileg von Klaus gewährt wurde, muss Anna das Privileg somit entzogen werden. Klaus selbst hat noch das Update-Privileg, da der Owner nur das Recht zum Weiterreichen des Privilegs entzogen hat, nicht das Privileg selbst. 16

17 6.4 Zugriffsschutz in Datenbanken Beispiel 3: Owner: Owner: Klaus: GRANT Update ON Movie TO Klaus WITH GRANT OPTION; GRANT Update ON Movie TO Anna; GRANT Update ON Movie TO Anna; Owner: REVOKE GRANT OPTION FOR Update ON Movie FROM Klaus CASCADE; Owner, Klaus und Anna haben das Update Privileg. Klaus hat das GRANT-Privileg nicht mehr. In diesem Beispiel wird Klaus wieder das Recht zum Weiterreichen des Update-Privilegs vom Owner entzogen. Da Klaus das Privileg an Anna weitergereicht hat, müsste es demnach auch Anna entzogen werden. Da Anna das Update-Privileg jedoch auch vom Owner selbst gewährt wurde, behält sie das Privileg. 17

18 6.4 Zugriffsschutz in Datenbanken Explizite Verwaltung der Zugriffsrechte mit GRANT und REVOKE ist für große Systeme aufwendig. Implizite Autorisierung für Subjekte und Operationen durch Anordnung in Hierarchien. Rolle B Rolle A Rolle D Rolle C Rollenhierarchie: Rolle B und C haben implizit die Privilegien von D. Rolle A hat implizit die Privilegien von Rolle B und C (und damit D). Die Grant- und Revoke-Kommandos geben die Möglichkeit, explizit Zugriffe auf Daten zu erlauben. Existieren viele Datenobjekte, wird die Menge der Autorisierungsregeln komplex und schwer verwaltbar. Daher existiert eine implizite Autorisierung. Bei dieser werden Subjekte bzw. Operationen hierarchisch angeordnet. Eine Autorisierung auf einer bestimmten Stufe der Hierarchie bewirkt, dass implizit Autorisierungen auf anderen Hierarchiestufen gelten. Für eine implizite Autorisierung von Subjekten werden Rollenhierarchien eingeführt. Eine Rolle hat dann implizit alle Privilegien der in der Hierarchie unter der Rolle liegenden Rollen. 18

19 6.4 Zugriffsschutz in Datenbanken Operationshierarchie: SELECT UPDATE DELETE UPDATE-Privileg beinhaltet SELECT- und DELETE-Privileg. Analog zu Rollenhierarchien können Operationshierarchien festgelegt werden. Bei der Hierarchie der Folie beinhaltet beispielsweise ein Privileg zum Update auch die Privilegien Select und Delete. 19

20 6.4.1 SQL Injection Einschleusen eigener Befehle in die SQL-Datenbank. Beispiel: Ein häufiger Angriff auf relationale Datenbanken ist SQL-Injection. SQL-Injection bezeichnet das Einschleusen von eigenen Befehlen in eine SQL-Datenbank. Als Beispiel betrachten wir eine Web- Schnittstelle, bei der man sich mit seinem Benutzernamen und seinem Passwort anmelden muss. 20

21 6.4.1 SQL Injection Code, der den Login durchführt: Language=VBScript %> <%... If Request.ServerVariables("CONTENT_LENGTH") > 0 Then strusername = Trim(Request.Form("UName")) strpassword = Trim(Request.Form("UPwd")) Set rs = Server.CreateObject("ADODB.Recordset") rs.open "select * from users where UserName='" & strusername &_ "' AND UserPassword='" & strpassword & "'"... End If %> Das dahinterliegende Skript konstruiert aus den Eingaben für das Passwort und den Benutzernamen eine SQL-Anfrage. 21

22 6.4.1 SQL Injection SQL String, wenn sich der Administrator mit admin / admin einloggt: select * from users where UserName='admin' AND UserPassword='admin' SQL String, wenn man sich mit ' OR '1'='1 und ' OR '1'='1 einloggt: select * from users where UserName='' OR '1'='1' AND UserPassword='' OR '1'='1' Gibt man nun für Benutzername und Passwort den String admin ein, so ergibt sich die erwartete SQL-Anfrage, bei der der UserName und das UserPassword auf admin geprüft werden. Gibt man jedoch für Benutzername und Passwort folgende Kombination ein: ' OR '1'='1 und ' OR '1'='1, so ergibt sich eine SQL-Anfrage, deren where-bedingung immer erfüllt ist und womit ohne das gültige Passwort auf Daten zugegriffen werden kann. 22

23 6.4.1 SQL Injection Weitere Angriffe sind möglich, um über Fehlermeldungen Informationen über das Datenbank-Schema zu erlangen. Problem bei SQL-Injection: Keine Überprüfung der Eingaben auf Quotes ( ) Gegenmaßnahme: Validieren der SQL-Statements auf ihre Gültigkeit. Das grundlegende Problem bei SQL-Injection ist die fehlende Filterung der Eingaben auf mögliche Quotes. Eine Gegenmaßnahme gegen SQL-Injection Angriffe liegt daher in der Validierung der SQL- Anfragen, bevor die SQL-Anfrage auf die Datenbank angewendet wird. 23

24 XACML = extensible Access Control Markup Language XML-basierter Standard zur Beschreibung von Zugriffsschutzpolitiken. Universelle Sprache für beliebige Werkzeige und Umgebungen (Interoperabilität). OASIS Spezifikation 1.1 (7.8.03) Existierende Implementierungen: Parthenon Computing SUN Lagash Systems: XACML.NET: Die extensible Access Control Markup Language (XACML) ist ein XML-basierter Standard der OASIS zur Beschreibung von Zugriffsschutzstrategien. Die XACML stellt eine universelle Sprache für Zugriffsschutzstrategien zur Verfügung, mit der Strategien für eine Vielzahl von Werkzeugen und Umgebungen beschrieben werden können. 24

25 Organization for the Advancement of Structured Information Standards (OASIS) 1993: SGML Open Konsortium zur Entwicklung von Interoperabilitäts-Richtlinien für Produkte, die die Standard Generalized Markup Language (SGML) unterstützen. 1998: OASIS Standards für Sicherheit (PKI, XACML), Web services, elektronisches Veröffentlichen, Interoperabilität in und zwischen elektronischen Marktplätzen etc. Die OASIS (Organization for the Advancement of Structured Information Standards) ist ein Konsortium, dass die Entwicklung weltweiter Standards für E-Business Anwendungen zum Ziel hat. Diese Standards betreffen Sicherheit, Web Services, elektronisches Veröffentlichen, Interoperabilität zwischen elektronischen Marktplätzen etc. Die Standards sollen helfen, dass Produkte verschiedener Hersteller miteinander interagieren können. OASIS ist aus der SGML Open entstanden, die sich mit der Entwicklung von Interoperabilitäts-Richtlinien bzgl. der Standard Generalized Markup Language (SGML) befasste. 25

26 XACML-Komponenten Policy Administration Point (PAP) Erstellt die Sicherheitsstrategie (security policy) und speichert diese in einem Repository. Policy Enforcement Point (PEP) Setzt dien Zugriffsschutz durch. Policy Information Point (PIP) Hält Informationen bereit, die zur Auswertung der Politik bzgl. einer Anfrage benutzt werden können. Policy Decision Point (PDP) Wertet die Politiken aus und bestimmt, ob der Zugriff der Anfrage erlaubt oder verboten ist. Die Folie zeigt und beschreibt kurz die wichtigsten Komponenten im XACML-Modell. 26

27 Ablauf einer Zugriffsschutzentscheidung für den Zugriff eines Subjekts auf eine Ressource: 1. PAPs schreiben Politiken und machen diese für den PDP verfügbar. 2. Das Subjekt (Access Requester) sendet eine Anfrage an den PEP. 3. Der PEP sendet die Anfrage an den Context Handler im Anfrage-Format weiter. Der PEP kann weitere Information hinzufügen (über Subjekt, Ressource oder Aktion). 4. Der Context Handler erstellt eine XACML-Anfrage, möglicherweise mittels weiterer Informationen vom PIP. Der Context Handler schickt die XACML-Anfrage an den PDP. Möchte ein Subjekt auf eine Ressource mittels einer bestimmten Aktion zugreifen, wird mittels des XACML-Modells der Zugriff entschieden. Der Ablauf dieser Zugriffsschutzentscheidung ist wie folgt. 1. Zunächst müssen PAPs Politiken schreiben, die sie dem PDP verfügbar machen. 2. Der Access Requester sendet eine Anfrage (z.b. eine CORBA-, J2EE- oder SOAP-Anfrage) zum Zugriff auf eine Ressource zum PEP. 3. Der PEP sendet diese Anfrage im ursprünglichen Format weiter zum Context Handler. Dabei können vom PEP neben der eigentlichen Anfrage weitere Information an den Context Handler geschickt werden, die das Subjekt, die auszuführende Aktion oder die Ressource näher beschreiben. 4. Der Context Handler erzeugt aus diesen Informationen eine XACML-Anfrage. Dazu können weitere Informationen zum Subjekt, der Ressource oder der Umgebung vom PIP angefordert werden. Der Context Handler schickt die XACML-Anfrage and den PDP. 27

28 5. Der PDP wertet die für die Anfrage anwendbaren Politiken aus. Sendet einen Antwort-Kontext (inklusive Zugriffsentscheidung) an den Context Handler. 6. Der Context Handler transformiert den Antwort-Kontext in das vom PEP benötigte Format und sendet ihn an den PEP. 7. PEP setzt die Antwort um (Zugriff erlaubt/verboten) 5. Der PDP identifiziert die anwendbaren Politiken und wertet die XACML-Anfrage bzgl. dieser Politiken aus. Der PDP gibt einen Antwort-Kontext inklusive der Zugriffsschutzentscheidung an den Context Handler zurück. 6. Der Context Handler transformiert den Antwort-Kontext in das Antwort-Format des PEP und sendet die Antwort an den PEP. 7. Der PEP setzt die Antwort um: Wenn der Zugriff erlaubt ist, erlaubt der PEP den Zugriff auf die Ressource. Ansonsten wird der Zugriff auf die Ressource abgelehnt. 28

29 Überblick 6.5 XACML setzt Zugriffsschutzentscheidung durch Access Requester Policy Decision Point (PDP) entscheidet Zugriff bzgl. Politik request Policy Enforcement permit (native) Point (PEP) access request + [subject + response (native) resource + action] decision request response Attribute für Subjekt, Ressource,Umgebung context handler erzeugt XACML Anfrage, Erzeugt Antwort Ressource Policy Administration Point (PAP) erstellt die Politik Policy Information Point (PIP) Enthält Informationen zu Attributen von Subjekten, Ressourcen, Aktionen, Umgebungen Diese Folie zeigt nochmals den gesamten Ablauf in einem Diagramm: Möchte ein Benutzer auf eine Ressource in einer bestimmten Weise zugreifen (z.b. ein Bankangestellter möchte sich ein Konto ansehen), so würde das System des Benutzers eine Anfrage zum Zugriff auf die Ressource stellen. Diese Anfrage würde vom Policy Enforcement Point (PEP) entgegengenommen. Der PEP erstellt dann seinerseits eine Anfrage basierend auf der Identität und den Attributen des Benutzers, der Aktion, die ausgeführt werden soll und möglicherweise weitere benötigte Informationen. Der PEP sendet diese Anfrage an den Context Handler, der die Anfrage des Client-Systems in eine XACML-Anfrage transformiert und an den Policy Decision Point weitersendet. Zur Konstruktion der XACML-Anfrage kann der Context Handler weitere Informationen vom Policy Information Point erfragen. Der PDP wertet die XACML-Anfrage auf Grundlage der anwendbaren Zugriffsschutzstrategien (die der PAP definiert hat) aus. Der PDP liefert eine Antwort an den Context Handler zurück, die entweder den Zugriff erlaubt oder verbietet. Der Context-Handler wandelt die XACML-Antwort in das ursprüngliche Anfrage-Format um und schickt es an den PEP. Der PEP setzt dann die Antwort durch. 29

30 Politik-Sprachmodell 0..1 Target * 1..* 1..* Subject Resource Action Condition Policy 1 1 Rule Combining Algorithm * Rule Effect Aus welchen Elementen eine Politik in XACML aufgebaut ist, zeigt das Klassendiagramm der Folie. Einer Politik (policy) ist ein Rule Combining Algorithm und eine Menge von Regeln (rule) zugeordnet. Jede Regel kann eine Bedingung (condition) haben, hat genau einen Effekt (effect) und möglicherweise ein Target. Ein Target kann aus einer Menge von Subjekten, Ressourcen oder Aktionen bestehen. Auch eine Politik kann einem Target zugeordnet werden. 30

31 Rule Beschreibt eine Zugriffsschutzregel. Besteht aus einen Target, einem Effect und einer Condition. Das Target einer Regel kann entfallen, wenn es mit dem Target der Policy übereinstimmt. Rule Target Menge von Ressourcen, Subjekten und Aktionen, auf die die Regel anwendbar ist. Falls anwendbar auf alle Entitäten eines Datentyps: <AnySubject/>, <AnyResource/> bzw. <AnyAction/> Regeln bestehen aus einem Target, einem Effect und möglicherweise einer Condition. Das Target einer Regel identifiziert die Ressourcen, Subjekte und/oder Aktionen, auf die die Regel anwendbar ist. Wenn die Regel zu allen Entitäten eine bestimmten Datentyps anwendbar ist, wird ein XML-Element <AnySubject/>, <AnyResource/> oder <AnyAction/> verwendet. Wenn die Regel kein Target hat, dann stimmt es mit dem Target der Policy überein. 31

32 Condition Funktion, die True, False oder Indeterminate zurückgibt. Bei Indeterminate liegen nicht genug Informationen für eine Entscheidung vor. Effect Wenn Rule-Condition True, wird entweder Permit oder Deny zurückgegeben. Ansonsten ist die Regel NotApplicable. Eine Condition ist eine Funktion, die entweder zu True, False oder Indeterminate ausgewertet wird. Indeterminate zeigt an, dass nicht genug Informationen vorlagen, um die Condition zu True oder False auszuwerten. Der Effect einer Regel ist entweder Permit oder Deny. 32

33 Policy Besteht aus Target, Rules und Rule-Combination Algorithmus. Policy Target Subjekte, Ressourcen und Aktionen, auf die die Politik angewendet werden soll. Kann explizit angegeben werden oder implizit aus den Rule-Targets berechnet werden. Eine Policy besteht aus einem Target, einer Menge von Regeln und einem Rule-Combination Algorithmus. Das Policy-Target spezifiziert die Subjekte, Ressourcen und Aktionen, auf die die Politik anwendbar ist. Die Target-Elemente der Politik können explizit angegeben werden oder anhand der Targets der Regeln der Policy berechnet werden. Jede Policy hat einen Rule-Combination Algorithmus zum Kombinieren der Politik-Regeln im Falle einer Zugriffsschutzentscheidung. Verschiedene von der Spezifikation vorgeschlagene Algorithmen zeigen die nächsten Folien. 33

34 Rule-Combination Alghoritmus Bestimmt, wie die Ergebnisse der Regelauswertung für die Auswertung der Politik ausgewertet werden. Deny-Overrides Wenn eine Regel in der Politik zu Deny ausgewertet wird, ist das Gesamtergebnis Deny. Wenn einige Regeln zu Permit ausgewertet werden und der Rest der Regeln zu NotApplicable, ist das Gesamtergebnis Permit. Sind alle Regeln NotApplicable, so ist die gesamte Politik NotApplicable. Der Deny-Overrides Algorithmus gibt Deny-Entscheidungen Priorität, d.h. wenn nur eine Regel der Politik den Zugriff verbietet, so ist die Gesamtzugriffsentscheidung ein Deny. Nur wenn keine der Regeln ein Deny liefert, kann es für das Gesamtergebnis ein Permit geben. Dazu muss allerdings mindestens eine der Regeln ein Permit liefern. Sind alle Regeln der Politik nicht anwendbar für die Zugriffsentscheidung, so ist auch die Politik nicht anwendbar. 34

35 Permit-Overrides Wenn eine Regel in der Politik zu Permit ausgewertet wird, ist das Gesamtergebnis Permit. Wenn einige Regeln zu Deny ausgewertet werden und der Rest der Regeln zu NotApplicable, ist das Gesamtergebnis Deny. Sind alle Regeln NotApplicable, so ist die gesamte Politik NotApplicable. Der Permit-Overrides Algorithmus gibt im Gegensatz zum Deny-Overrides Algorithmus einer Permit- Entscheidung Priorität. 35

36 First-applicable Regeln werden nach der Reihe ausgewertet, die durch die Politik gegeben ist. Sobald eine Regel anwendbar ist (d.h. Target ist identifiziert und Rule-Condition ist True), dann ist das Gesamtergebnis der Effect der Regel, d.h. entweder Permit oder Deny. Ist keine Regel anwendbar, so ist die Politik NotApplicable. Der Algorithmus First-Applicable läuft die Regeln der Politik der Reihe nach durch und sucht nach der ersten anwendbaren Regel. Die Auswertung dieser Regel (entweder Deny oder Permit) ist dann das Ergebnis der Zugriffsschutzentscheidung bzgl. der Politik. Falls keine der Regeln anwendbar sein sollte, ist die gesamte Politik nicht anwendbar. 36

37 Politiken können in einer PolicySet zusammengefasst werden. 1 Policy Set 1 0..* PolicySet besteht aus einer Menge von Policies, einem Target und einem Policy Combining Algorithmus. 1 Target Policy Combining Algorithm 1 0..* Policy Man kann mehrere Politiken auch zu einer PolicySet zusammenfassen. Diese Menge von Politiken wird dann ebenfalls einem Target zugeordnet und man muss einen Policy-Combining Algorithmus definieren, der die Zugriffsschutzergebnisse der einzelnen Politiken der PolicySet zu einem Gesamtergebnis kombiniert. Beispiele solcher Kombinierungsalgorithmen zeigen die nächsten Folien. Viele dieser Algorithmen sind analog zu den Algorithmen zum Kombinieren von Regeln. 37

38 Policy Combining Algorithmus Deny-Overrides eine Policy Deny => PolicySet Deny mindestens eine Policy Permit, Rest NotApplicable => PoliySet Permit Alle Policies sind NotApplicable => PoliySet NotApplicable Der Deny-Overrides Algorithmus gibt dem Deny einer Politik Priorität. 38

39 Permit-Overrides eine Policy Permit => PolicySet Permit mindestens eine Policy Deny, Rest NotApplicable => PoliySet Deny Alle Policies sind NotApplicable => PoliySet NotApplicable Der Permit-Overrides Algorithmus gibt dem Permit einer Politik Priorität. 39

40 First-applicable Auswertung der Policies nach Liste in der PolicySet Erste anwendbare Policy wird ausgewertet (Target ist anwendbar und Policy wertet zu Permit oder Deny aus) Ergebnis der Policy-Auswertung wird Ergbenis der PolicySet-Auswertung Ist keine Policy Anwendbar, ist die PolicySet NotApplicable. Der First-Applicable Algorithmus benutzt die erste anwendbare Politik zur Zugriffsschutzentscheidung. 40

41 Only-one-applicable Wenn keine Policy der PolicySet anwendbar ist, ist die PolicySet NotApplicable. Wenn mehr als eine Policy der PolicySet anwendbar ist, dann ist die PolicySet Indeterminate. Wenn genau eine Policy der PolicySet anwendbar ist, dann ist die Auswertung der PolicySet gegeben durch die Auswertung der einen Policy. Der Only-one-applicable Algorithmus betrachtet das Ergebnis einer anwendbaren Politik nur dann, wenn es die einzige anwendbare Politik der PolicySet ist. Ist keine Politik anwendbar, dann ist die PolicySet nicht anwendbar. Sind mehrere Politiken anwendbar, dann liefert die Auswertung der PolicySet Indeterminate. 41

42 Beispiel: Politik: Jeder Benutzer mit einer im medico.com Namensraum darf jede Aktion auf jeder Ressource durchführen. Abschließend noch ein Beispiel einer in XACML spezifizierten Politik und einer XACML-Anfrage. Die in natürlicher Sprache formulierte Politik zeigt die Folie. Sie gestattet jedem Benutzer mit einer E- Mail von medico.com jede Aktion auf jeder Ressource auszuführen. 42

43 Policy-Header 6.5 XACML <Policy xmlns="urn:oasis:names:tc:xacml:1.0:policy" cs-xacml-schema-policy.xsd" PolicyId="identifier:example:SimplePolicy" RuleCombiningAlgId= "identifier:rule-combining-algorithm:deny-overrides"> <Description> Medi Corp access control policy </Description> Die XACML-Politik startet mit einem Header, in dem der Namensraum und die XACML-Version spezifiziert werden. Außerdem bekommt die Politik einen Namen und der Algorithmus zum Kombinieren der Regeln wird angegeben. In diesem Beispiel wird der Deny-overrides Algorithmus benutzt. Es kann noch eine Beschreibung der Politik hinzugefügt werden. 43

44 Politik-Target Politik ist anwendbar für jeden Benutzer, jede Ressource und jede Aktion <Target> <Subjects> <AnySubject/> </Subjects> <Resources> <AnyResource/> </Resources> <Actions> <AnyAction/> </Actions> </Target> Das PolicyTarget dieser Politik sind alle Subjekte, alle Ressourcen und alle Aktionen. Daher gibt es für die entsprechenden Einträge die Werte <AnySubject/>, <AnyRessource/>, <AnyAction/>. 44

45 Es gibt eine Regel in der Politik. Wenn die Regel anwendbar ist, dann liefert sie Permit. <Rule RuleId= "urn:oasis:names:tc:xacml:1.0:example:simplerule" Effect="Permit"> <Description> Any subject with an name in the medico.com domain can perform any action on any resource. </Description> In der Politik gibt es nur eine Regel, die Benutzern mit medico.com Zugriff auf alle Ressourcen und Aktionen erlaubt. Zunächst gibt man der Regel einen Namen und spezifiziert ihren Effekt. In diesem Beispiel ist der Effekt Permit, d.h. wenn die Regel anwendbar ist, liefert sie als Ergebnis Permit. Eine Beschreibung der Regel kann zusätzlich gegeben werden. 45

46 Rule-Target Alle Benutzer mit im medico.com Namensraum Wenn die Subjekte, Ressourcen und Aktionen der Anfrage nicht auf das Rule-Target zutreffen, ist die Regel für diese Anfrage NotApplicable. <Target> <Subject> <SubjectMatch MatchId=" function:name-match"> <SubjectAttributeDesignator AttributeId="subject:subject-id" DataType="datatype:Name"/> <AttributeValue DataType="datatype:Name"> medico.com </AttributeValue> </SubjectMatch> </Subject> Das Rule-Target spezifiziert die Subjekte, Ressourcen und Aktionen, auf die die Regel anwendbar sein soll. Es wird gefordert, dass die Regel auf alle Subjekte angewandt werden soll, die eine von medico.com besitzen. Dies wird im Rule-Target spezifiziert unter dem Element <Subject> spezifiziert. 46

Benutzerverwaltung, Sichten und Datenintegrität

Benutzerverwaltung, Sichten und Datenintegrität Benutzerverwaltung, Sichten und Einige Vergleiche zwischen MySQL, Oracle und PostgreSQL OStR Michael Dienert, StR Ahmad Nessar Nazar 29. November und 30. November 2011 1 von 113 OStR Michael Dienert, StR

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

Mehr

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

IT-Security als Enabler Attribut-basierte Autorisierung (ABAC) für das neue Kundenportal der CSS

IT-Security als Enabler Attribut-basierte Autorisierung (ABAC) für das neue Kundenportal der CSS IT-Security als Enabler Attribut-basierte Autorisierung (ABAC) für das neue Kundenportal der CSS Netclose Community Treffen, Horw, 24.09.2014 Stefan Allemann, CSS Versicherung CSS Versicherung - INTRAS

Mehr

In diesem Anschnitt geht es um die SQL Anweisungen, mit denen ich den Zugriff auf das Datenbankschema steuern kann.

In diesem Anschnitt geht es um die SQL Anweisungen, mit denen ich den Zugriff auf das Datenbankschema steuern kann. In diesem Anschnitt geht es um die SQL Anweisungen, mit denen ich den Zugriff auf das Datenbankschema steuern kann. All diese Befehle werden unter dem Begriff SQL DLC Data Control Language zusammengefasst.

Mehr

Externalisierte Autorisierung mit XACML

Externalisierte Autorisierung mit XACML Externalisierte Autorisierung mit XACML Die extensible Access Control Markup Language Java Forum Stuttgart 2012 über uns und mich... Stefan Bohm Senior Consultant für Identity- und Accessmanagement ic

Mehr

12.4 Sicherheitsarchitektur

12.4 Sicherheitsarchitektur 12.4 Sicherheitsarchitektur Modellierung Sicherheitsstrategie Systemmodell Sicherheitsmodell Entwurf Architektur Sicherheitsarchitektur Implementierung sicherer Code SS-12 1 Wie wird das Sicherheitsmodell

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 18.06.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 7: Zugriffskontrolle Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch Aus den Videos wissen

Mehr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5 Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5 Erstellung der Datenbank Tabellen Als Login Module soll das in der JBoss Installation bereits vorhandene DatabaseServerLoginModule

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

5 Sicherheit und Zugriff auf SQL Server 2008 R2

5 Sicherheit und Zugriff auf SQL Server 2008 R2 5 Sicherheit und Zugriff auf SQL Server 2008 R2 5.1 Grundkonzept Das Sicherheitskonzept von SQL Server 2008 R2 ist dreistufig aufgebaut: Betriebssystem-Ebene: Zunächst ist eine Anmeldung am Betriebssystem

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 4. Zugriffskontrolle AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Einführung Architektur

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Sicherheitsmechanismen in serviceorientierten Architekturen Hauptseminar im SS 2009 XACML

Sicherheitsmechanismen in serviceorientierten Architekturen Hauptseminar im SS 2009 XACML Sicherheitsmechanismen in serviceorientierten Architekturen Hauptseminar im SS 2009 XACML OASIS Profile in Bezug auf XACML Philip Daubmeier Technische Universität München 29.05.2009 Zusammenfassung Das

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

Kapitel 7: Referentielle Integrität

Kapitel 7: Referentielle Integrität Kapitel 7: Referentielle Integrität Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen FAEL-Seminar Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte

Mehr

Nutzung und Erweiterung von IT-Standards zur Realisierung von Authentifizierung und Zugriffsschutz für Geo Web Services

Nutzung und Erweiterung von IT-Standards zur Realisierung von Authentifizierung und Zugriffsschutz für Geo Web Services Nutzung und Erweiterung von IT-Standards zur Realisierung von Authentifizierung und Zugriffsschutz für Geo Web Services Universität der Bundeswehr München Was erwartet Sie in diesem Vortrag? Thema 4 Thema

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

!"#$"%&'()*$+()',!-+.'/',

!#$%&'()*$+()',!-+.'/', Soziotechnische Informationssysteme 7. OAuth, OpenID und SAML Inhalte Motivation OAuth OpenID SAML 4(5,12316,7'.'0,!.80/6,9*$:'0+$.;.,&0$'0, 3, Grundlagen Schützenswerte Objekte Zugreifende Subjekte Authentifizierung!

Mehr

6 Sicherheitskonzepte in Oracle

6 Sicherheitskonzepte in Oracle 6 Sicherheitskonzepte in Oracle Datenbanksysteme sind für viele Benutzer(-gruppen) mit unterschiedlichen Nutzungswünschen geschaffen, aber nicht alle Daten des Informationssystems sind für alle Benutzer

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2 Jörg Kapelle 15:19:08 Filterregeln Inhaltsverzeichnis Filterregeln... 1 Einführung... 1 Migration der bestehenden Filterregeln...1 Alle eingehenden Nachrichten weiterleiten...2 Abwesenheitsbenachrichtigung...2

Mehr

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung Informa=onssysteme Sommersemester 2015 6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema

Mehr

4. Datenabfrage mit QBE 11

4. Datenabfrage mit QBE 11 Informationsbestände analysieren Datenabfrage mit QBE 4. Datenabfrage mit QBE 11 4.1. QBE vs. SQL Relationale Datenbanken haben schon früh den Anspruch gestellt, auch für Nicht- Informatiker nutzbar zu

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1 Postgresql Michael Dienert 10. Dezember 2007 Inhaltsverzeichnis 1 Übersetzen und Installieren 1 1.1 Installationsort der Programme..................... 1 2 Einrichten einer Testdatenbank 1 2.1 Das Datenbank-Cluster.........................

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

Inhaltsverzeichnis. Vorwort... 13. Einleitung... 15

Inhaltsverzeichnis. Vorwort... 13. Einleitung... 15 Vorwort.................................................. 13 Einleitung................................................ 15 1 Aufwand versus Sicherheit was ist angemessen?.............. 17 1.1 Warum ist

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

(c) 2014, Peter Sturm, Universität Trier

(c) 2014, Peter Sturm, Universität Trier Soziotechnische Informationssysteme 6. OAuth, OpenID und SAML Inhalte Motivation OAuth OpenID SAML 1 Grundlagen Schützenswerte Objekte Zugreifende Subjekte Authentifizierung Nachweis einer behaupteten

Mehr

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite Zusammenfassung: Alle Oracle Forms Anwendungen sind per Default durch SQL Injection angreifbar. Oracle Applications >=11.5.9 ist davon nicht betroffen, da hier standardmäßig der Wert FORMSxx_RESTRICT_ENTER_QUERY

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

cs241: Datenbanken mit Übungen HS 2011

cs241: Datenbanken mit Übungen HS 2011 UNIVERSITÄT BASEL Prof. Dr. Heiko Schuldt MSc. Nenad Stojnić BSc. Ivan Giangreco BSc. Florian Lindörfer cs241: Datenbanken mit Übungen HS 2011 Übung 5 Abgabe bis: 4.11.2011 Hinweise: Modalitäten der Abgabe:

Mehr

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Federated Identity Management

Federated Identity Management Federated Identity Management Verwendung von SAML, Liberty und XACML in einem Inter Campus Szenario d.marinescu@gmx.de 1 Fachbereich Informatik Inhalt Grundlagen Analyse Design Implementierung Demo Zusammenfassung

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

Mehr

Masterarbeit. Policy-based Authorization for Grid Data-Management

Masterarbeit. Policy-based Authorization for Grid Data-Management Masterarbeit Policy-based Authorization for Grid Data-Management Ralf Gröper Agenda 1. Sicherheit im Grid Computing 2. Grid Daten Management in glite 3. Selbstbeschränkung von Benutzerrechten 4. XACML

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Datenbanken: Relationales Datenbankmodell RDM

Datenbanken: Relationales Datenbankmodell RDM Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der 80'er Jahre definierter Standard für Datenbanksysteme! Der Name kommt vom mathematischen Konzept einer Relation: (Sind A, B

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Benutzerverwaltung mit ASP.NET Membership

Benutzerverwaltung mit ASP.NET Membership Benutzerverwaltung mit ASP.NET Membership Dieser Artikel soll zeigen, wie man ASP.NET Membership einsetzt, um Benutzer einer Web Anwendung zu authentifizieren. Es werden sowohl Grundlagen wie die Einrichtung

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015 Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische

Mehr

Installation und erste Schritte laserdesk Version 1.0

Installation und erste Schritte laserdesk Version 1.0 Installation und erste Schritte 23. April 2013 SCANLAB AG Siemensstr. 2a 82178 Puchheim Deutschland Tel. +49 (89) 800 746-0 Fax: +49 (89) 800 746-199 support@laserdesk.info SCANLAB AG 2013 ( - 20.02.2013)

Mehr

SQL Injection Funktionsweise und Gegenmaßnahmen

SQL Injection Funktionsweise und Gegenmaßnahmen SQL Injection Funktionsweise und Gegenmaßnahmen EUROSEC GmbH Chiffriertechnik & Sicherheit Tel: 06173 / 60850, www.eurosec.com EUROSEC GmbH Chiffriertechnik & Sicherheit, 2005 Problematik SQL-Injection

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Wirtschaftsinformatik 2. Tutorium im WS 11/12 Wirtschaftsinformatik 2. Tutorium im WS 11/12 Entity/Relationship-Modell SQL Statements Tutorium Wirtschaftsinformatik WS 11/12 2.1 Datenmodellierung mit ERM (1) Datenmodellierung zur Erarbeitung des konzeptionellen

Mehr

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen?

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen? Betrifft Autor Oracle und.net im n-tier Umfeld Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (April 2003) Quelle Aus unserer Projekterfahrung Einführung Oracle und.net sind ein populäres

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

SQL-Injection. Seite 1 / 16

SQL-Injection. Seite 1 / 16 SQL-Injection Seite 1 / 16 Allgemein: SQL (Structured Query Language) Datenbanksprache zur Definition von Datenstrukturen in Datenbanken Bearbeiten und Abfragen von Datensätzen Definition: SQL-Injection

Mehr

Der Neue Weg zur Verschlüsselung von Datenbankinhalten

Der Neue Weg zur Verschlüsselung von Datenbankinhalten Der Neue Weg zur Verschlüsselung von Datenbankinhalten Da Häufigkeit und Schwere von Datendiebstahl zunehmen, ist es immens wichtig, dass Unternehmen vertrauliche und sensible Daten zusätzlich durch Verschlüsselung

Mehr

Securing SOAP e-services

Securing SOAP e-services Securing SOAP e-services Nilson Reyes Sommersemester 2004 aus: E. Damiani, S. De Capitani di Vermercati, S. Paraboschi, P. Samarati, Securing SOAP e-sservices, IJIS, Ausgabe 1 (2002), S.110-115. Gliederung

Mehr

Betriebssysteme SS 2013. Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz E SB 5 (11.04.2013) ACLs und Capabilities

Betriebssysteme SS 2013. Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz E SB 5 (11.04.2013) ACLs und Capabilities Betriebssysteme SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz E SB 5 (11.04.2013) ACLs und Capabilities 11.04.2013 Modul 6: Betriebssysteme, SS 2013, Hans-Georg Eßer Folie E-1 ACLs und

Mehr

View. Arbeiten mit den Sichten:

View. Arbeiten mit den Sichten: View "individuelle Sicht" (vgl. 3-Schichten-Modell) virtuelle Tabellen: in der DB wird nicht deren Inhalt, sondern nur die Ableitungsregel gespeichert. Arbeiten mit den Sichten: Anfragen: kein Problem.

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll

Mehr

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16. Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: 13.02.2004 Zeit: 16. Uhr Hinweis: Die Bearbeitungszeit beträgt 90 Minuten. Bitte benutzen Sie

Mehr

Übung 2. Verwendung eines RDBMS. Prof. Dr. Andreas Schmietendorf 1. Übung 2

Übung 2. Verwendung eines RDBMS. Prof. Dr. Andreas Schmietendorf 1. Übung 2 Verwendung eines RDBMS Prof. Dr. Andreas Schmietendorf 1 Aufgabenbeschreibung Prof. Dr. Andreas Schmietendorf 2 Zielstellung Die Vorlesung konzentriert sich auf die Verwendung relationaler Datenbankmanagement-Systeme.

Mehr