um die Speicherverwaltung einzelner Datenbanken zu überwachen bzw. zu ändern

Größe: px
Ab Seite anzeigen:

Download "um die Speicherverwaltung einzelner Datenbanken zu überwachen bzw. zu ändern"

Transkript

1 8.2 Gespeicherte Prozeduren 197 um den lesenden und schreibenden Zugriff auf Systemtabellen zu ermöglichen um die Abfragen und Änderungen der Zugriffsrechte einer Datenbank durchzuführen um die Speicherverwaltung einzelner Datenbanken zu überwachen bzw. zu ändern Die oben genannte Unterteilung der Systemprozeduren ist weder vollständig noch eindeutig. Viele Systemprozeduren können z.b. sowohl der ersten als auch der zweiten Gruppe zugeordnet werden. Weil Systemprozeduren für unterschiedliche Aufgaben angewendet werden können, werden wir sie in den entsprechenden Kapiteln beschreiben. Diese Beschreibung wird nicht alle angebotenen Prozeduren enthalten. Für eine vollständige Auflistung der Systemprozeduren verweisen wir den Leser auf die Onlinedokumentation des Systems. Jeder Benutzer kann auch eigene Systemprozeduren mit der CREATE PRO- CEDURE-Anweisung erstellen. Die Voraussetzung für solche Prozeduren ist, dass sie mit dem Präfix sp_ beginnen und der Masterdatenbank angehören. Solche Prozeduren können unabhängig von der augenblicklich aktuellen Datenbank aufgerufen werden. Benutzerdefinierte Systemprozeduren können in SQL Server 2005 durch gespeicherte Prozeduren mit Hilfe von Common Language Runtime (CLR) implementiert werden. Diese Prozeduren sind das Thema des folgenden Abschnitts Gespeicherte Prozeduren und CLR In älteren SQL Server-Versionen können gespeicherte Prozeduren nur mit Hilfe der Transact-SQL-Sprache implementiert werden. SQL Server 2005 führt zum ersten Mal eine alternative Möglichkeit ein: Common Language Runtime (CLR). Mit CLR können verschiedene Datenbankobjekte wie Prozeduren, Funktionen und benutzerdefinierte Datentypen mit Hilfe verschiedener Programmiersprachen (C# und Visual Basic 2005) implementiert werden. Um eine gespeicherte Prozedur auf der Basis von CLR zu implementieren, übersetzen und speichern, müssen folgende Schritte (in der vorgegebenen Reihenfolge) ausgeführt werden: Implementiere eine gespeicherte Prozedur mit Hilfe von C# bzw. Visual Basic 2005 und übersetze diese mit Hilfe des entsprechenden Übersetzers. Verwende die CREATE ASSEMBLY-Anweisung, um die ausführbare Version (Executable File) des Programms zu erstellen. Speichere die Prozedur mit Hilfe der CREATE PROCEDURE-Anweisung. Führe die Prozedur mit Hilfe der EXECUTE-Anweisung aus.

2 198 8 SQL-Erweiterungen und gespeicherte Prozeduren Abb. 8 1 Ausführung einer gespeicherten Prozedur mit Hilfe von CLR Abbildung 8 1 zeigt, wie eine gespeicherte Prozedur mit Hilfe von CLR übersetzt und gespeichert werden kann. Man verwendet eine Programmierumgebung wie Visual Studio 2005, um das Programm zu implementieren. Nach der Implementierung wird der entsprechende C#- bzw. Visual Studio 2005-Übersetzer gestartet, damit der Objekt-Code erstellt wird. Der entsprechende Code, der in eine.dll- Datei gespeichert ist, wird anschließend als Quelle von der CREATE ASSEMBLY- Anweisung verwendet, um den Zwischencode des Programms zu erstellen. Die anderen beiden Schritten sind schon bekannt: Mit der CREATE PROCE- DURE-Anweisung wird der Code gespeichert, während die EXECUTE-Anweisung für die Ausführung der gespeicherten Prozedur verwendet wird. Die folgenden fünf Beispiele zeigen alle oben beschriebenen Schritte. Beispiel 8.10 beginnt mit einem C#-Programm, mit dem eine gespeicherte Prozedur implementiert wird. Beispiel 8.10 using System; using System.Data; using System.Data.Sql; using System.Data.SqlServer;

3 8.2 Gespeicherte Prozeduren 199 using System.Data.SqlTypes; public partial class StoredProcedures { [SqlProcedure] public static int GetEmployeeCount() { int irows; SqlCommand sqlcmd = SqlContext.GetCommand(); sqlcmd.commandtext = "select count(*) as 'Employee Count' " + "from mitarbeiter"; irows = (int)sqlcmd.executescalar(); return irows; } }; Das C#-Programm in Beispiel 8.10 verwendet eine Abfrage: select count(*) as 'Employee Count' from mitarbeiter Damit wird die Anzahl der Reihen der Tabelle mitarbeiter berechnet. Die USING-Anweisungen am Anfang des Programms spezifizieren Namen von Paketen, wie z.b. System.Data. Diese Anweisungen ermöglichen die Angabe von Klassennamen innerhalb des Programms, ohne den Namen des Pakets, zu dem die Klasse gehört, jedes Mal explizit schreiben zu müssen. Die erste Klasse, die in Beispiel 8.10 spezifiziert wird, heißt StoredProcedures. Diese Klasse, zusammen mit dem dazugehörigen [SqlProcedure]-Attribut, informiert das System, dass hier eine gespeicherte Prozedur mit Hilfe von Common Language Runtime implementiert wird. Innerhalb der StoredProcedures-Klasse wird die Methode GetEmployee- Count() implementiert. Die SqlContext-Klasse, die zum Paket System.Data. SqlServer gehört, wird anschließend mit ihrer Methode GetCommand() verwendet, um eine Instanz der SqlCommand-Klasse (sqlcmd) zu referenzieren, welche die Verbindung zu dem aktuellen System herstellt. Die folgenden Programmzeilen: sqlcmd.commandtext = "select count(*) as 'Employee Count' " + "from mitarbeiter"; irows = (int)sqlcmd.executescalar(); verwenden die SELECT-Anweisung für die Ermittlung der Reihenanzahl in der Tabelle mitarbeiter und für die Ausgabe des Ergebnisses. Die Anweisung ist mit Hilfe des CommandText-Attributes der Instanz sqlcmd spezifiziert. Danach wird die ExecuteScalar()-Methode in Bezug auf die selbe Instanz aufgerufen, die einen skalaren Wert zurückgibt. Dieser Wert wird umgewandelt und der irows-variablen zugewiesen.

4 200 8 SQL-Erweiterungen und gespeicherte Prozeduren Die Verwendung von Common Language Runtime ist standardmäßig deaktiviert. Um diese Funktionalität benutzen zu können, muss die Option clr_enabled der Systemprozedur sp_configure aktiviert werden. (Führen Sie anschließend die RECONFIGURE- Anweisung aus, um die Konfigurationswerte zu aktualisieren.) Beispiel 8.11 zeigt den ersten Schritt: die Übersetzung des in Beispiel 8.10 implementierten Programms mit Hilfe des C#-Übersetzers. Beispiel 8.11 csc /target:library GetEmployeeCount.cs /reference:"c:\programfiles\microsoft SQLServer\MSSQL.1\MSSQL\Binn\sqlaccess.dll" In Beispiel 8.11 wird das Programm namens GetEmployeeCount übersetzt. csc ist das Betriebssystemkommando, mit dem der C#-Übersetzer aufgerufen wird. (Vor dem Aufruf des csc-kommandos muss sein Speicherort mit Hilfe der Umgebungsvariablen PATH spezifiziert werden.) Die Option /target legt den Namen des C#-Quellprogramms fest, während die Option /reference die.dll-dateien spezifiziert, die für den Übersetzungsprozess notwendig sind. Beispiel 8.12 zeigt den zweiten Schritt: die Verwendung der CREATE ASSEMBLY-Anweisung, um die ausführbare Version des Programms zu erstellen. Beispiel 8.12 CREATE ASSEMBLY GetEmployeeCount FROM 'C:\GetEmployeeCount.dll' WITH PERMISSION_SET = SAFE Die CREATE ASSEMBLY-Anweisung verwendet den übersetzten Code, gespeichert in einer.dll-datei, um das entsprechende Datenbankobjekt zu erstellen. Diese Anweisung hat folgende allgemeine Syntax: CREATE ASSEMBLY assembly_name [ AUTHORIZATION owner_name ] FROM { dll_file} [ WITH PERMISSION_SET = { SAFE EXTERNAL_ACCESS UNSAFE } ] assembly_name ist der Name des neuen Datenbankobjektes. Die optionale AUTHORIZATION-Klausel spezifiziert den Namen des Eigentümers des Objektes. Die FROM-Klausel definiert den Pfadnamen, wo die übersetzte Datei (in Form einer dll-bibliothek) sich befindet. (In Beispiel 8.12 haben wir die.dll-datei aus dem Framework-Verzeichnis in das C:-Dateiverzeichnis kopiert.)

5 8.2 Gespeicherte Prozeduren 201 Die WITH PERMISSION SET-Klausel hat sehr große Bedeutung bei der Erstellung eines Datenbankobjektes mit Hilfe von CLR. Sie spezifiziert, auf welche Ressourcen das erstellte Datenbankobjekt zugreifen kann. Die Angabe SAFE ist die restriktivste Angabe von allen: Falls der Code eines Programms mit dieser Angabe erstellt wird, kann das Programm auf externe Systemressourcen wie Dateien nicht zugreifen. Die zweite Angabe EXTERNAL ACCESS erlaubt dem Code, auf gewisse externe Systemressourcen zuzugreifen, wie das Dateisystem und anderen Datenbanken mit Hilfe von ADO.NET. UNSAFE erlaubt einen uneingeschränkten Zugriff auf Ressourcen (innerhalb und außerhalb des SQL Server-Systems). Diese drei Angaben regeln, wie sicher der relationale Datenbankserver sein kann, dass das erstellte Objekt das ganze Datenbanksystem gefährden kann. Folgendes Beispiel zeigt die Erstellung der gespeicherten Prozedur auf der Basis des C#-Programms aus Beispiel Beispiel 8.13 CREATE PROCEDURE GetEmployeeCount AS EXTERNAL NAME GetEmployeeCount.StoredProcedures.GetEmployeeCount Die CREATE PROCEDURE-Anweisung in Beispiel 8.13 zeigt eine Erweiterung, die wir bis jetzt noch nicht gesehen haben: AS EXTERNAL NAME. Mit dieser Option wird der Code, der mit Hilfe von CLR generiert wurde, spezifiziert. Der Name in dieser Klausel sieht standardmäßig so aus: assembly_name.class_name.method_name assembly_name spezifiziert den Namen des in der CREATE ASSEMBLY-Anweisung erstellten Datenbankobjektes (in diesem Fall die gespeicherte Prozedur). class_name ist der Name der public-klasse, die im Quellprogramm (siehe Beispiel 8.10) definiert ist, während method_name den Namen der Methode festlegt, die innerhalb der public-klasse angegeben ist. (In Beispiel 8.10 heißt die public- Klasse StoredProcedures und die zu ihr gehörende Methode GetEmployeeCount.) Das letzte Beispiel in dieser Beispielfolge zeigt, wie die mit Hilfe von CLR erstellte gespeicherte Prozedur ausgeführt werden kann. Beispiel 8.14 INT Beispiel 8.14 zeigt die Transact-SQL-Anweisungsfolge, mit der ein Datenbankobjekt (in diesem Fall eine gespeicherte Prozedur) ausgeführt werden kann. Der

6 202 8 SQL-Erweiterungen und gespeicherte Prozeduren integer-wert, der die Prozedur in ihrer SELECT-Anweisung ermittelt, wird einer vorher definierten Variablen mit Hilfe der EXECUTE-Anweisung zugewiesen. (Die anschließende PRINT-Anweisung gibt den Wert 7 aus, weil die Tabelle mitarbeiter in unserem Fall sieben Reihen enthält.) 8.3 Benutzerdefinierte Funktionen Programmiersprachen unterstützen generell zwei Routine-Typen: Prozeduren benutzerdefinierte Funktionen Prozeduren enthalten keine oder mehrere Parameter, liefern aber keine Rückgabewerte. Im Unterschied zu Prozeduren liefern Funktionen einen oder mehrere Rückgabewerte. (Wie aus dem folgenden Unterabschnitt ersichtlich wird, können benutzerdefinierte Funktionen beim relationalen Datenbankserver nur einen einzigen Rückgabewert liefern.) Erstellung und Ausführung benutzerdefinierter Funktionen Benutzerdefinierte Funktionen werden mit Hilfe der CREATE FUNCTION- Anweisung erstellt. Diese Anweisung hat folgende Syntax: CREATE FUNCTION [schema_name.]funktion_name typ_1 [=default_1] typ_2 [=default_2]]}...[)]] RETURNS {skalar_wert TABLE}} [WITH {ENCRYPTION SCHEMABINDING} AS {block RETURN(select_anw)} schema_name spezifiziert den Namen des Schemas, während funktion_name den Namen der benutzerdefinierten sind Parameternamen, während typ_1, typ_2 ihren Datentypen spezifizieren. (Parameter sind Werte, die von dem Aufrufprogramm an die benutzerdefinierte Funktion geschickt und innerhalb der Funktion verwendet werden.) default_1, default_2 kennzeichnen optionale Standardwerte der entsprechenden Parameter. Die RETURNS-Klausel definiert den Datentyp des Rückgabewertes. Dieser kann entweder einen Standarddatentyp haben oder den Datentyp namens TABLE. Eine benutzerdefinierte Funktion beim relationalen Datenbankserver kann entweder einen skalaren Wert oder eine Tabelle als Rückgabewert liefern. Eine Funktion liefert einen skalaren Wert, falls in der RETURNS-Klausel ein Standarddatentyp spezifiziert wird. Jede Funktion mit der Angabe TABLE in dieser Klausel gibt eine ganze Tabelle zurück.

7 8.3 Benutzerdefinierte Funktionen 203 Abhängig davon, wie der Funktionskörper definiert ist, können Funktionen mit den Tabellen als Rückgabewerten: inline oder mit mehreren Anweisungen sein. Falls die RETURNS-Klausel die Option TABLE ohne irgendwelche zusätzliche Angaben verwendet, handelt es sich um eine inline-funktion. Eine solche Funktion liefert das Ergebnis als eine Variable vom Typ TABLE. Eine Funktion mit mehreren Anweisungen in der RETURNS-Klausel enthält einen Namen, an den das Schlüsselwort TABLE angefügt ist. (Der Name wird damit eine interne Variable vom Typ TABLE.) Die Variable kann verwendet werden, um Reihen einzufügen und sie anschließend als den Rückgabewert der Funktion zurückzugeben. Die Angabe ENCRYPTION verursacht die Verschlüsselung der Anweisungen innerhalb der benutzerdefinierten Funktion. Diese Angabe ist empfehlenswert, wenn die Implementierung der Funktion nicht allgemein bekannt werden darf. Die alternative WITH SCHEMABINDING-Klausel bindet die benutzerdefinierte Funktion zum Datenbankobjekt, das sie referenziert. (Das Ergebnis dieser Referenzierung ist, dass jeder Versuch, das Datenbankobjekt zu ändern, fehlschlägt.) Die von einer Funktion referenzierten Datenbankobjekte müssen gewisse Kriterien erfüllen, damit die SCHEMABINDING-Klausel mit ihnen verwendet werden kann. Diese sind: Alle Sichten und benutzerdefinierte Funktionen, die durch die angegebene Funktion referenziert sind, müssen selbst gebunden werden (d.h. mit WITH SCHEMABINDING definiert werden). Alle referenzierten Datenbankobjekte (Tabellen, Sichten, benutzerdefinierte Funktionen) müssen zu derselben Datenbank wie die angegebene Funktion gehören. block kennzeichnet einen BEGIN-Block, der den Implementierungsteil der Funktion enthält. Die letzte Anweisung im block muss eine RETURN-Anweisung sein. (Der Wert des Argumenten der RETURN-Anweisung entspricht dem Rückgabewert der Funktion.) Im BEGIN-Block können nur folgende Anweisungen angegeben werden: Zuweisungsanweisungen (z.b. die SET-Anweisung) die WHILE- und IF-Anweisungen die DECLARE -Anweisung die SELECT-Anweisung, mit der den Spaltenwerten entsprechende Variablen zugewiesen werden die INSERT-, UPDATE-, und DELETE-Anweisung, die die Werte der Variablen vom Typ TABLE ändern

8 204 8 SQL-Erweiterungen und gespeicherte Prozeduren Gleich nach der Erstellung einer Datenbank haben nur die Mitglieder der Datenbankrollen db_owner und db_ddladmin das Recht, die CREATE FUNCTION- Anweisung auszuführen. Anschließend können sie auch den anderen Benutzern mit Hilfe der GRANT CREATE FUNCTION-Anweisung die Rechte zur Erstellung von Funktionen vergeben (siehe Kapitel 12). Das folgende Beispiel zeigt die Erstellung einer einfachen benutzerdefinierten Funktion. Beispiel Diese benutzerdefinierte Funktion berechnet zusätzliche -- Kosten, die entstehen, falls Projektmittel erhöht werden. USE beispiel GO CREATE FUNCTION compute_costs INT =10) RETURNS DECIMAL(16,2) BEGIN DEC dec(16,2) = SUM (mittel)from projekt END Die Funktion compute_costs berechnet die Kosten, die entstehen, falls alle Projektmittel erhöht werden. Im BEGIN-Block werden zuerst zwei lokale Variablen Der zweiten Variablen wird die Summe aller Mittel mit Hilfe der SELECT-Anweisung zugewiesen. Danach berechnet die Funktion alle zusätzlichen Kosten und gibt den Wert mit Hilfe der RETURN- Anweisung zurück. Jede benutzerdefinierte Funktion kann innerhalb einer DML-Anweisung (SELECT, INSERT, UPDATE und DELETE) aufgerufen werden. Um eine benutzerdefinierte Funktion aufzurufen, muss der Funktionsname zusammen mit einem Klammerpaar angegeben werden. Innerhalb des Klammerpaares können ein oder mehrere Argumente spezifiziert werden. (Argumente sind Werte, die den definierten Funktionsparametern zugewiesen werden. Jedes Argument wird dem entsprechenden Parameter zugewiesen.) Das folgende Beispiel zeigt, wie die Funktion compute_costs (Beispiel 8.15) innerhalb einer SELECT-Anweisung verwendet werden kann. Beispiel 8.16 USE beispiel select pr_nr, pr_name from projekt WHERE mittel < dbo.compute_costs(25)

9 8.3 Benutzerdefinierte Funktionen 205 Das Ergebnis ist: pr_nr pr_name p2 Gemini Das Ergebnis des Beispiels 8.16 gibt alle Namen und die Nummern aller Projekte aus, bei welchen die Mittel kleiner sind als zusätzliche Kosten der Mittelerhöhung für den angegebenen Prozentsatz. Jeder Name einer benutzerdefinierten Funktion, der in einer Transact-SQL-Anweisung angegeben wird, muss in der Form: schema_name.funktions_name spezifiziert werden. Das folgende Beispiel zeigt eine benutzerdefinierte Funktion, deren Rückgabewert vom Typ TABLE ist. Beispiel 8.17 USE beispiel GO create function mitarbeiter_im_projekt char(4)) returns table as return (select m_vorname, m_name from arbeiten, mitarbeiter where mitarbeiter.m_nr = arbeiten.m_nr and pr_nr Die Funktion mitarbeiter_im_projekt wird benutzt, um die Namen aller Mitarbeiter eines Projektes zu ermitteln. Der spezifiziert eine Projektnummer. Weil die Funktion im Allgemeinen mehrere Reihen als Ergebnis liefert, muss die RETURNS-Klausel die TABLE-Angabe enthalten. Beispiel 8.18 gibt die Namen und Projektnummer aller Mitarbeiter aus, die im Projekt p3 arbeiten. Beispiel 8.18 USE beispiel select * from mitarbeiter_im_projekt('p3') Das Ergebnis ist: m_vorname m_name Petra Huber Rainer Meier Brigitte Kaufmann

10 206 8 SQL-Erweiterungen und gespeicherte Prozeduren Der relationale Datenbankserver unterstützt zusätzlich die ALTER FUNCTION- Anweisung, die die Struktur einer benutzerdefinierten Funktion ändert. Diese Anweisung wird gewöhnlich benutzt, um die WITH SCHEMABINDING-Klausel zu entfernen. Die ALTER FUNCTION-Anweisung hat dieselben Optionen wie die CREATE FUNCTION-Anweisung Benutzerdefinierte Funktionen und CLR Alles, was bis jetzt über die Erstellung von gespeicherten Prozeduren mit Hilfe von CLR gesagt wurde, gilt auch für benutzerdefinierte Funktionen. Der einzige Unterschied ist, dass die Anweisung CREATE FUNCTION anstelle von CREATE PROCEDURE verwendet wird, wenn man eine benutzerdefinierte Funktion als Datenbankobjekt speichern will. (Ein zweiter Unterschied ist, dass Funktionen in einem anderen Kontext als gespeicherte Prozeduren verwendet werden, wie wir in Beispiel 8.22 zeigen werden.) Folgendes Beispiel erstellt ein Programm, mit dem wir anschließend zeigen werden, wie benutzerdefinierte Funktionen mit Hilfe der C#-Sprache übersetzt und angewendet werden können. Beispiel 8.19 using System; using System.Data.Sql; using System.Data.SqlTypes; public class budgetpercent { private const float percent = 10; public static SqlDouble computebudget(float budget) { float budgetnew; budgetnew = budget * percent; return budgetnew; } }; Das C#-Programm in Beispiel 8.19 zeigt die Implementierung einer benutzerdefinierten Funktion, die einen neuen Wert der Projektmittel berechnet, in dem der alte Wert mit der prozentuellen Erhöhung (in unserem Programm 10 %) multipliziert wird. Das C#-Programm in Beispiel 8.19 wird nicht erläutert, weil es identische Klassen und Methoden verwendet, die schon in Beispiel 8.10 vorkommen. Genauso wird der Aufruf des csc-kommandos nicht gezeigt. Dieser Schritt ist in Beispiel 8.11 beschrieben. Beispiel 8.20 zeigt die CREATE ASSEMBLY-Anweisung, mit der aus der.dll- Datei das entsprechende Objekt erstellt wird.

11 8.4 Zusammenfassung 207 Beispiel 8.20 CREATE ASSEMBLY computebudget FROM 'C:\computeBudget.dll' WITH PERMISSION_SET = SAFE In Beispiel 8.20 wird das Objekt computebudget erstellt, das anschließend für die Erstellung der benutzerdefinierten Funktion verwendet wird. (Alle Optionen der CREATE ASSEMBLY-Anweisung, die in Beispiel 8.20 vorkommen, sind im Zusammenhang mit Beispiel 8.12 erörtert worden.) Beispiel 8.21 CREATE FUNCTION ReturncomputeBudget Real) RETURNS FLOAT AS EXTERNAL NAME computebudget.budgetpercent.computebudget Die CREATE FUNCTION-Anweisung in Beispiel 8.21 speichert das compute- Budget-Objekt als benutzerdefinierte Funktion. Diese Funktion kann anschließend in verschiedenen DML-Anweisungen verwendet werden. Das folgende Beispiel zeigt den Aufruf dieser Funktion. Beispiel 8.22 USE beispiel select dbo.returncomputebudget (321.50) Mit der SELECT-Anweisung in Beispiel 8.22 wird der neue (erhöhte) Wert der Produktmittel auf der Basis des alten Wertes (321.50) und der prozentuellen Erhöhung (10 %) berechnet. 8.4 Zusammenfassung Der relationale Datenbankserver ist eines der wenigen relationalen Datenbankmanagementsysteme, der prozedurale Erweiterungen sowohl im Zusammenhang mit der SQL-Sprache selbst als auch für die Erstellung der gespeicherten Prozeduren unterstützt. (Die meisten DBMS unterstützen prozedurale Erweiterungen ausschließlich in Bezug auf gespeicherte Prozeduren.) Ein weiteres Merkmal des relationalen Datenbankservers ist die Unterstützung zahlreicher Systemprozeduren. Diese werden u.a. für die komplette Administrierung eines SQL Server-Systems benutzt. Das folgende Kapitel behandelt Indizes.

12 208 8 SQL-Erweiterungen und gespeicherte Prozeduren 8.5 Aufgaben A.8.1 A.8.2 Definieren Sie die Anweisungsfolge, die Reihen in die Tabelle mitarbeiter lädt. Die Werte der Spalte m_nr sollen zwischen 1 und liegen und eindeutig sein. Alle Werte der Spalten m_name, m_vorname und abt_nr sollen auf»kurz«,»jochen«und»a1«in dieser Reihenfolge gesetzt werden. Modifizieren Sie die Aufgabe A.8.1 so, dass die Werte der Spalte m_nr per Zufallsgenerator (mit Hilfe der RAND-Funktion) spezifiziert werden. (Hinweis: Benutzen Sie auch die Systemfunktionen DATEPART und GETDATE [siehe Kapitel 3], um Zufallswerte zu generieren.)

CLR-Integration im SQL-Server. Alexander Karl

CLR-Integration im SQL-Server. Alexander Karl CLR-Integration im SQL-Server Alexander Karl seit der Version SQL-Server 2005 können Programmierungen zusätzlich zum T-SQL auch mit.net-sprachen erfolgen. Data Types Stored Procedures Triggers Functions

Mehr

27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services

27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services 531 27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services Im zweiten Teil dieses Buches haben wir die Eigenschaften der Transact-SQL- Sprache in Bezug auf die Bearbeitung von operativen Daten gezeigt.

Mehr

11 Funktionen. 11.1 Vorteile von Funktionen. Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen

11 Funktionen. 11.1 Vorteile von Funktionen. Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 11 Funktionen Bestimmt enthält Ihre Access-Applikation einige VBA-Funktionen. Funktionen, in denen Sie wie derkehrende Funktionalität,

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

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

Prüfungsnummer: 70-461-deutsch. Prüfungsname: Querying. Version: Demo. SQL Server 2012. http://zertifizierung-portal.de/

Prüfungsnummer: 70-461-deutsch. Prüfungsname: Querying. Version: Demo. SQL Server 2012. http://zertifizierung-portal.de/ Prüfungsnummer: 70-461-deutsch Prüfungsname: Querying Microsoft SQL Server 2012 Version: Demo http://zertifizierung-portal.de/ 1.Sie sind als Datenbankadministrator für das Unternehmen it-pruefungen tätig.

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

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor 15. 2 Die grafischen Tools des SQL Server 2008 59. 3 Eine neue Datenbank erstellen 87

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor 15. 2 Die grafischen Tools des SQL Server 2008 59. 3 Eine neue Datenbank erstellen 87 Vorwort 11 1 Der SQL Server 2008 stellt sich vor 15 1.1 SQL Server wer ist das? 16 1.1.1 Der SQL Server im Konzert der Datenbanksysteme 16 1.1.2 Entscheidungsszenarien für Datenbanksysteme 17 1.1.3 Komponenten

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

SQL Server 2005. Eine umfassende Einführung

SQL Server 2005. Eine umfassende Einführung SQL Server 2005 Eine umfassende Einführung E-Mail: petkovic@fh-rosenheim.de Lektorat: Barbara Lauer, Bonn Copy-Editing: Sandra Gottmann, Münster Satz: Just in Print, Bonn Herstellung: Birgit Bäuerlein

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

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

8 Access-Abfragen migrieren

8 Access-Abfragen migrieren Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 8 Access-Abfragen migrieren Mit der Migration der Tabellen Ihrer Anwendung zu einer SQL Server-Datenbank und dem Verknüpfen der SQL Server-Tabellen

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

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

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

SQL Server 2008 Der schnelle Einstieg

SQL Server 2008 Der schnelle Einstieg Klemens Konopasek SQL Server 2008 Der schnelle Einstieg Abfragen, Transact-SQL, Entwicklung und Verwaltung ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

-Machen. http://zertifizierung-portal.de/

-Machen. http://zertifizierung-portal.de/ -Wir stellen Ihnen aktuelle Prüfungsfragen für die Themengebiete Microsoft, IBM, Oracle, Citrix, Novell, Apple, HP und Cisco zur Verfügung! -Machen Sie sich fit für Ihre berufliche Zukunft! http://zertifizierung-portal.de/

Mehr

SQL Server 2005 Der schnelle Einstieg

SQL Server 2005 Der schnelle Einstieg Klemens Konopasek Ernst Tiemeyer SQL Server 2005 Der schnelle Einstieg Abfragen, Transact-SQL, Entwicklung und Verwaltung An imprint of Pearson Education München Boston San Francisco Harlow, England Don

Mehr

26.1.1 Vor- und Nachteile speicheroptimierter Tabellen... 764

26.1.1 Vor- und Nachteile speicheroptimierter Tabellen... 764 25.4 Verhalten bei Systemfehlern... 735 25.5 Programmierung expliziter Transaktionen... 737 25.6 Implizite Transaktionen... 741 25.7 Sperren... 743 25.7.1 Sperrebenen... 743 25.7.2 Gemeinsame Sperren (Shared

Mehr

9 T-SQL-Grundlagen. 9.1 Grundlegende Informationen. 9.1.1 T-SQL-Skripte erstellen und testen

9 T-SQL-Grundlagen. 9.1 Grundlegende Informationen. 9.1.1 T-SQL-Skripte erstellen und testen Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 9 T-SQL-Grundlagen In gespeicherten Prozeduren, Triggern und benutzerdefinierten Funktionen kommen Sie teilweise mit den üblichen SQL-Anweisungen

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Microsoft SQL Server 2005 für Administratoren

Microsoft SQL Server 2005 für Administratoren Microsoft SQL Server 2005 für Administratoren Irene Bauder ISBN 3-446-22800-4 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22800-4 sowie im Buchhandel Inhaltsverzeichnis

Mehr

Microsoft SQL Server 2000 Programmierung

Microsoft SQL Server 2000 Programmierung Rebecca M. Riordan Microsoft SQL Server 2000 Programmierung Schritt für Schritt Microsoft Press Einführung Ihr Ausgangspunkt Neue Features in SQL Server 2000 Verwenden der beiliegenden CD-ROM Systemanforderungen

Mehr

16 SQL Server-Zugriff per VBA

16 SQL Server-Zugriff per VBA Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 16 SQL Server-Zugriff per VBA Sie werden an verschiedenen Stellen per VBA auf die Tabellen der SQL Server-Datenbank zugreifen müssen sei

Mehr

Datenbankentwicklung mit dem Microsoft SQL Server 2005

Datenbankentwicklung mit dem Microsoft SQL Server 2005 Holger Schmeling Datenbankentwicklung mit dem Microsoft SQL Server 2005 ISBN-10: 3-446-22532-3 ISBN-13: 978-3-446-22532-9 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-22532-9

Mehr

Implementieren einer Microsoft SQL Server 2005-Datenbank M4739

Implementieren einer Microsoft SQL Server 2005-Datenbank M4739 Implementieren einer Microsoft SQL Server 2005-Datenbank M4739 Mögliche Seminarart Seminarsprache : Klassenraumtraining, WalkIn, Firmenseminar : Deutsch Einführung Dieser fünftägige, von einem Kursleiter

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

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

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

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

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

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

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Access 2002 und MS SQL Server 2000

Access 2002 und MS SQL Server 2000 Access 2002 und MS SQL Server 2000 von Irene Bauder, Jürgen Bär 1. Auflage Hanser München 2001 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21845 1 Zu Inhaltsverzeichnis schnell und portofrei

Mehr

15 Bilder und Dateien im SQL Server

15 Bilder und Dateien im SQL Server Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 15 Bilder und Dateien im SQL Server Eines der großen Probleme von Access-Datenbanken ist der vergleichsweise geringe Speicher platz. Sicher,

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

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager FILESTREAM für Microsoft SQL Server aktivieren FILESTREAM für Microsoft SQL Server aktivieren

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL. 2 Grundlagen von PL/SQL Grundelemente von PL/SQL. 2.1 Übersicht Themen des Kapitels Grundlagen von PL/SQL Themen des Kapitels PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren Im Kapitel Grundlagen

Mehr

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

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

TYPO3 und TypoScript

TYPO3 und TypoScript TYPO3 und TypoScript Webseiten programmieren, Templates erstellen, Extensions entwickeln von Tobias Hauser, Christian Wenz, Daniel Koch 1. Auflage Hanser München 2005 Verlag C.H. Beck im Internet: www.beck.de

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis

Inhaltsverzeichnis. Inhaltsverzeichnis Inhaltsverzeichnis 1 Einstieg in den MS SQL Server 2005 13 1.1 Kleiner Einstieg für neue Administratoren 13 1.2 Neuigkeiten des MS SQL Servers 2005 16 1.3 Die Editionen des MS SQL Servers 2005 24 1.4 MS

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

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

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht Adressen in eigene Solution combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Integration der Ansicht "Adressen" in eigene Solution Integration der Ansicht "Adressen" in

Mehr

C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET Leibniz Universität IT Services Anja Aue Experteneinstellungen in Visual Studio Express Extras Einstellungen Experteneinstellungen. Es werden

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

Handbuch organice SQL-Reportgenerator

Handbuch organice SQL-Reportgenerator organice Software GmbH Handbuch organice SQL-Reportgenerator Benutzerhandbuch Stand: August 2013 Inhalt 1. Allgemeine Informationen... 3 1.1 Einführung... 3 1.2 Voraussetzungen... 3 1.3 Zielgruppe... 3

Mehr

Kurzeinführung ODBC. 1 Codebeispiele. 1.1 Embedded SQL

Kurzeinführung ODBC. 1 Codebeispiele. 1.1 Embedded SQL Kurzeinführung ODBC ODBC (Open Database Connectivity) ist eine von Microsoft entworfene Anwendungsschnittstelle (Application Programming Interface, API), welche in der Lage ist, auf alle gebräuchlichen

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

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

3 Embedded SQL. 3.1 Theorie. 3.1.1 Was ist Embedded SQL?

3 Embedded SQL. 3.1 Theorie. 3.1.1 Was ist Embedded SQL? 3 Embedded SQL 3.1 Theorie 3.1.1 Was ist Embedded SQL? Nachdem bisher alle SQL-Anweisungen über den CLP abgewickelt wurden, sollen diese Anweisungen nun in eine Host-Sprache eingebettet werden. Wir werden

Mehr

Christine Hansen, Fabrizio Fresco, Patrick Malcherek

Christine Hansen, Fabrizio Fresco, Patrick Malcherek Betrifft: PL/SQL Web-Services und der JDeveloper Teil 4 Autor: Christine Hansen, Fabrizio Fresco, Patrick Malcherek Art der Info: Technische Background Info (Oktober 2002) Quellen: http://otn.oracle.com

Mehr

Methoden (fortgeschritten) in C# - 1

Methoden (fortgeschritten) in C# - 1 Methoden (fortgeschritten) in C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Opertatoren Überladung 2. delegate 3. Anonyme Methoden delegate Lamda Ausdruck-Lamdas Anweisung-Lamdas Variablenbereich

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

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

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

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

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine.

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine. Kapitel 2 Datenverwaltung durch SQL Server Wir wollen das obige Skript zwei Mal laufen lassen, einmal mit und einmal ohne eingeschalteten Schreibcache der Festplatte. Für eine lokale Festplatte können

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Prozeduren und Funktionen in.net-clr-sprachen

Prozeduren und Funktionen in.net-clr-sprachen 3 Prozeduren und Funktionen in.net-clr-sprachen N eu in SQL Server 2005 ist die Unterstützung für die Common Language Runtime (CLR)-Sprachen. Damit hat man jetzt eine weitere Möglichkeit, um die Funktionalität

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

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz Oracle 12c: Neuerungen in PL/SQL Roman Pyro DOAG 2014 Konferenz Herrmann & Lenz Services GmbH Herrmann & Lenz Solutions GmbH Erfolgreich seit 1996 am Markt Firmensitz: Burscheid (bei Leverkusen) Beratung,

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

Übung 5 Prozeduren, Triggers und Transaktionen. 1. Ablauf der Übung. 2. Views

Übung 5 Prozeduren, Triggers und Transaktionen. 1. Ablauf der Übung. 2. Views Übung 5 Prozeduren, Triggers und Transaktionen 1. Ablauf der Übung Besprechung der SQL-Abfragen aus Übung 4 Views SQL-Erweiterungen Datenbank-Prozeduren (Stored Procedures) Triggers Transaktionen Bearbeiten

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

1.6 Zusammenfassung... 19

1.6 Zusammenfassung... 19 Vorwort 13 Vorwort zur 2 Ausgabe 14 Teil I Einführung 1 Einleitung 15 11 Warum dieses Buch? 15 1 2 Aufbau des Buches 15 Aufbau der einzelnen Kapitel 16 13 Die Beispieldatenbank 17 1 4 Schreibweisen 17

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA Aktionsabfragen lassen sich bequem mit der Entwurfsansicht für Abfragen zusammenstellen. Sie können damit Daten an Tabellen anfügen, bestehende Daten ändern oder löschen und sogar gleich die passende Tabelle

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

Access [basics] Tabellenverknüpfungen pflegen. Beispieldatenbank. Verknüpfungen erneuern. Anwendungsfälle. Grundlagen der Verknüpfung

Access [basics] Tabellenverknüpfungen pflegen. Beispieldatenbank. Verknüpfungen erneuern. Anwendungsfälle. Grundlagen der Verknüpfung Wenn Sie eine Datenbank in Frontend und Backend aufgeteilt haben, greift das Frontend über eine Verknüpfung auf die Tabellen im Backend zu. Wo sich das Backend befindet, wird in einer Systemtabelle gespeichert.

Mehr

SQL objektorientiert

SQL objektorientiert Dušan Petković SQL objektorientiert An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Vorwort 11 Teil 1: Einführung 15

Mehr

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken

Mehr

User Defined Functions im DB2

User Defined Functions im DB2 User Defined Functions im DB2 von Rosmarie Peter, Trivadis AG User Defined Functions (UDFs) gestatten es, eigene Funktionen zu schreiben, die in SQL-Statements verwendet werden können. In diesem Artikel

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Datenbanken. Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea. Institut für Informatik Software & Systems Engineering

Datenbanken. Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea. Institut für Informatik Software & Systems Engineering Datenbanken Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea Institut für Informatik Software & Systems Engineering Agenda 1. Datenbanken 2. SQL 3. ADO.NET DataProvider (providerabhängig)

Mehr

Oracle PL/SQL und Datenbankprogrammierung - LVC

Oracle PL/SQL und Datenbankprogrammierung - LVC Oracle University Kontakt: +43 (0)1 33 777 401 Oracle PL/SQL und Datenbankprogrammierung - LVC Dauer: 5 Tage Lerninhalte Dieser Kurs richtet sich an Oracle8i-, Oracle9i- und Oracle Database 10g-Benutzer.

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

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

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

IBM Informix SQL. Seminarunterlage. Version 11.04 vom

IBM Informix SQL. Seminarunterlage. Version 11.04 vom Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Visual Basic.NET undado.net

Visual Basic.NET undado.net .NETSolutions Visual Basic.NET undado.net Datenbanken programmieren F. SCOTT BARKER Markt+ Übersetzung: Gabriele Broszat Einleitung 21 Zum Autor Zur Begleit-CD-ROM Wer sollte dieses Buch nutzen? Welche

Mehr

1 Lieferantenbewertung

1 Lieferantenbewertung 1 Lieferantenbewertung Mit Hilfe der Lieferantenbewertung können alle aktiven Lieferanten nach ISO Kriterien bewertet werden. Die zur Bewertung hinterlegten Faktoren können individuell vorgegeben werden.

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

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

Einführung in VisualBasic for Applications. Stefan Mahlitz Einführung in VisualBasic for Applications Stefan Mahlitz Stefan Mahlitz Einführung in VBA 27.08.00 Inhaltsverzeichnis 1. Grundlagen der VisualBasic for Applications (VBA) Programmierung...2 1.1 Variablen,

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr