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.)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-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

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

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

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

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

Informatik Datenbanken SQL-Einführung

Informatik Datenbanken SQL-Einführung Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................

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

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

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

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

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

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

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

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

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

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

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

Microsoft SQL Server 2008 für Administratoren

Microsoft SQL Server 2008 für Administratoren Irene Bauder Microsoft SQL Server 2008 für Administratoren ISBN-10: 3-446-41393-6 ISBN-13: 978-3-446-41393-1 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41393-1

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

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

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

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

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Inhaltsverzeichnis. SQL Server: Grundkonzepte

Inhaltsverzeichnis. SQL Server: Grundkonzepte ix Teil 1 SQL Server: Grundkonzepte 1 Einleitung 3 1.1 Eigenschaften von MS SQL Server 2005....................... 3 1.2 Datenbanken allgemein.................................. 5 1.2.1 Logische Datenunabhängigkeit.......................

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

2 Was ist VB.NET? 2.1 Unterschiede zu Visual Basic 6

2 Was ist VB.NET? 2.1 Unterschiede zu Visual Basic 6 2 Was ist VB.NET? VB.NET ist eine Programmiersprache basierend auf dem Microsoft.NET- Framework. Das Framework verbindet verschiedene Programmiersprachen. Programme werden zwar in den jeweiligen Programmierspachen

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

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

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Robert Panther. Datenbanken entwickeln mit SQL Server 2008 Express Edition

Robert Panther. Datenbanken entwickeln mit SQL Server 2008 Express Edition Robert Panther Datenbanken entwickeln mit SQL Server 2008 Express Edition Robert Panther: Datenbanken entwickeln mit SQL Server 2008 Express Edition Microsoft Press Deutschland, Konrad-Zuse-Str. 1, 85716

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

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

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012

Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012 Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012 von Robert Panther 1. Auflage Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012 Panther schnell und portofrei erhältlich bei

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac.

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac. Datenbanksysteme Dominic Pacher Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck dbis-informatik.uibk.ac.at 1 Übersicht Was passiert in den kommenden 90 Minuten?

Mehr

Kapitel 3 Das Projekt Bankkonto Seite 1

Kapitel 3 Das Projekt Bankkonto Seite 1 Kapitel 3 Das Projekt Bankkonto Seite 1 3 Das Projekt Bankkonto Nun wirst du dich etwas gründlicher mit dem Quelltext einer Klasse beschäftigen. Du lernst, wie zwei Objekte eine gemeinsame Aufgabe erledigen.

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

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 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22800-4 sowie im Buchhandel Sichern von

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

Datenbankadministration

Datenbankadministration Datenbankadministration 10. Monitoring AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Momentaufnahmen Momentaufnahmen

Mehr

PL/SQL Einführung 1.2.066 / 4053 1-1

PL/SQL Einführung 1.2.066 / 4053 1-1 1 PL/SQL Einführung 1.1 Einleitung... 1-4 1.2 Funktionsweise von PL/SQL... 1-6 1.3 Initialisierungsparameter in ORACLE 10g... 1-8 1.4 PL/SQL-Blockstruktur... 1-14 1.5 Arten von PL/SQL-Programmkonstrukten...

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

ANDREAS PROUZA. Wien, 2015-03-27. andreaspr@aon.at andreas@prouza.at. http://www.prouza.at

ANDREAS PROUZA. Wien, 2015-03-27. andreaspr@aon.at andreas@prouza.at. http://www.prouza.at DB2 & SQL E I N F Ü H R U N G T U N I N G O P T I M I E R U N G S E C R E T S ANDREAS PROUZA andreaspr@aon.at andreas@prouza.at http://www.prouza.at Wien, 2015-03-27 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis...

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Interoperabilität mit Office-Anwendungen (1)

Interoperabilität mit Office-Anwendungen (1) Interoperabilität mit Office-Anwendungen (1) Durch.NET Programme (z.b. Visual Basic) können Microsoft-Office- Anwendungen automatisiert werden. Diese Technik basiert auf den s.g. Interop-Assemblys das

Mehr

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Das Beispiel orientiert sich am selben Code, der im Teil 1 der Serie verwendet wurde. Text Styles: Shell Prompt mit

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

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

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

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

Geordnete Form...36 Erfassung und Speicherung...37 Relationale Datenbanken...37 Einfache Tabellen...37 Objekte und Begriffe relationaler

Geordnete Form...36 Erfassung und Speicherung...37 Relationale Datenbanken...37 Einfache Tabellen...37 Objekte und Begriffe relationaler Inhaltsverzeichnis Einleitung...13 SQL: Die Abfragesprache für Datenbanken...17 Kennzeichnende Merkmale von SQL...17 SQL-Dialekte...18 Kurze Entwicklungsgeschichte...18 SQL/86 oder SQL/1...19 SQL/89 oder

Mehr

Objektrelationale, erweiterbare Datenbanken WS 04/05

Objektrelationale, erweiterbare Datenbanken WS 04/05 Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe

Mehr

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration Richtlinienbasierte Verwaltung und Multi-Server-Administration 3 Richtlinienbasierte Verwaltung und Multi-Server- Administration SQL Server Management Studio bietet eine Reihe von Unterstützungsmöglichkeiten,

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

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2 SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R IV-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering LINQ to SQL Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel Institut für Informatik Software & Systems Engineering Agenda 1. LINQ allgemein Vorteile Bausteine und Varianten

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es

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

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff Programmieren in C Operatoren, Variablen und deren Sichtbarkeit Prof. Dr. Nikolaus Wulff Auswertung von Ausdrücken Was passiert wenn ein Ausdruck wie z. B. int y,x=2; y = ++x * x++; im Computer abgearbeitet

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 28 Testklasse public class TestGirokonto { public static void main(string[] args) { // erzeuge neues Konto Girokonto einkonto = new Girokonto();

Mehr

Microsoft Visual C# 2008

Microsoft Visual C# 2008 John Sharp 13 Microsoft Visual C# 2008 Schritt für Schritt 13 13 14 15 15 16 16 17 17 17 21 22 22 23 25 26 II 40 51 Press 53 54 54 55 55 56 56 57 58 63 63 64 Inhaltsverzeichnis Einleitung 13 Einführung

Mehr

Datendefinition und Datenmanipulation in SQL

Datendefinition und Datenmanipulation in SQL SQL Datendefinition und Datenmanipulation in SQL 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 SQL: Geschichte SQL (Structured Query Language) ist heute die bei weitestem populärste und verbreitetste

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

UC4 Rapid Automation Handbuch für den Hyper-V Agent

UC4 Rapid Automation Handbuch für den Hyper-V Agent UC4 Rapid Automation Handbuch für den Hyper-V Agent UC4 Software, Inc. UC4: Rapid Automation Handbuch für den Hyper-V Agent Von Jack Ireton Dokumentennummer: RAHV-062011-de *** Copyright UC4 und das UC4-Logo

Mehr

7 Die Reorganisation von DB2

7 Die Reorganisation von DB2 Ab und an sollte eine Tabelle reorganisiert werden. Besonders, nachdem größere Datenmengen eingefügt oder gelöscht wurden, muß über eine Reorganisation nachgedacht werden. Eine optimale Performance ist

Mehr

Codingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008

Codingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008 I. Einleitung II. Codingstandard Softwareentwicklung Praktikum Stand: 27.02.2008 Wie in der Vorlesung schon ausgeführt wurde, ist die Lesbarkeit und Wartbarkeit des Sourcecodes ein sehr wichtiges Kriterium

Mehr

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht Dipl. Inf. Eric Winter Entwicklungsleiter PTC GPS-Services GmbH PostgreSQLals HugeData Storage Ein Erfahrungsbericht Inhalt 1. Problembeschreibung 2. Partielle Indexierung 3. Partitionierung 1. Vererbung

Mehr

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs Betrifft Art der Info Quelle WHERE Klausel Generierung mit.net und Oracle Technical Info Aus unserer Projekterfahrung und Architektur-Kurs Where ist the WHERE? Der Artikel untersucht die Möglichkeiten,

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Proseminar: C# und.net. 6. Vortag Generische Klassen. Sebastian Wolf

Proseminar: C# und.net. 6. Vortag Generische Klassen. Sebastian Wolf Proseminar: C# und.net 6. Vortag Generische Klassen Sebastian Wolf 1 Gliederung: 1. Einleitung 2. C# 2.0 3. Beschränkte Generizität 4. Generische Methoden 5. Überladene generische Klassen 6. Was passiert

Mehr

Tutorial Grundlagen der Softwareverteilung

Tutorial Grundlagen der Softwareverteilung Tutorial Grundlagen der Softwareverteilung Inhaltsverzeichnis 1. Einführung... 3 2. Clientsysteme einrichten... 3 2.1 Den SDI Agent verteilen... 3 2.2 Grundeinstellungen festlegen... 4 3. Softwareverteiler...

Mehr