Datenbanken und SQL Übersicht über SQL (structured query language) Datenbanken und SQL ● SQL ● Historisch ● Was ist SQL? ● Warum SQL? ● Beispiel für SQL ● SQL und MS Access ● SQL und MySQL ● SQL und Delphi (3GL/4GL) Datenbanken und SQL Historischer Überblick: ● ● ● ● 1970 1986 1989 1992 erste Grundlagen ISO Standard Standard ISO 1989 ANSI SQL 92 (Level 1 / 2) Datenbanken und SQL Was ist SQL? ● SQL ist eine komplette Sammlung von Befehlen , die den Zugriff zu einer relationalen Datenbank ermöglicht. SQL ist die Standardschnittstelle zu einer Vielzahl von Datenbanken. ● SQL ist mengenorientiert (es können mit einem Befehl gleich mehrere Datensätze als Menge bearbeitet werden) ● Die Sprache ist deskriptiv (es wird beschrieben was getan wird und nicht wie) ● SQL ist abbildungsorientiert (aus einer Ausgangsrelation wird eine Ergebnisrelation zurückgeliefert) Datenbanken und SQL Warum SQL? Die Eigenschaften von SQL sind der Grund dafür, dass SQL die am meisten verwendete Sprache für relationale Datenbanken ist. 3 Gründe: Verbreitung durch Standardisierung Leistungsfähigkeit Einfache Verwendung Bspl.: ● Zeige mir alle Informationen über Kunden an, die in Berlin AND wohnen und deren Umsatz über SELECT * FROM kunden WHERE ort=“Berlin“ umsatz>1000 Datenbanken und SQL SQL Befehle werden in folgende Befehlskatagorien eingeteilt: ●Datendefinition (DDL) (Erstellen von Tabellen, Indizes usw.) ● Datenabfrage (DQL) (Auswahl von Datensätzen aus einer oder mehreren Tabellen) ● Datenmanipulation (DML) (Ändern/Löschen von Datensätzen) ● Zugriffskontrolle (Vergabe von Rechten an Tabellen) Datenbanken und SQL Links auf Tutor-Seiten für SQL: ● ● ● ● ● ● http://www.sqltutorial.de/ http://www.marc-fouquet.de/uni/info/sql.html http://www.mysql.com/downloads/ http://dx1.hrz.uni-dortmund.de:8001/doc1/hrz/sqlref/sqloracle.html http://www-dbs.ethz.ch/~isk98/folien_online/sql_einfuehrung/ http://dblabor.f4.fhtw-berlin.de/morcinek/sqltutor/ Datenbanken und SQL SQL und MS Access: Microsoft Access gestattet 2 unterschiedliche Varianten der Abfrage und Manipulation von Daten mittels SQL in relationalen Datenbanken: 1. MS Access verhält sich selbst als lokaler SQL-Server und führt in dieser Sprache erstellte Anweisungen aus, um Daten in der lokalen Datenbank zu suchen, zu sortieren, zu selektieren oder zu manipulieren. Datenbanken und SQL oder 2. Über MS Access kann mittels SQL auf beliebige Datenbanken in einem Netzwerk zugegriffen werden. Dazu muss per ODBC eine Verbindung zu einem SQLServer ( z.B. MS SQL-Server oder MySQL ) hergestellt sein, der diese Datenbestände verwaltet. Vorteil: Wird eine Abfrage an eine verteilte Datenbank gestartet, dann erledigt dies der SQL-Server und es müssen nicht tausende von Datensätzen über das Netzwerk transportiert werden. Datenbanken und SQL Was ist MySQL ? ● ● MySQL ist ein vollwertiges relationales Datenbanksystem, das auf der Grundlage von SQL arbeitet. MySQL arbeitet dabei mit einer klassischen Client-Server-Architektur, d.h. Ein zentraler Datenbankserver verwaltet Daten, auf die mit einem DatenbankClientprogramm über das Internet zugegriffen werden kann. Für alle nichtkommerziellen Anwendungen ist die Benutzung von MySQL frei. Der Bezug erfolgt über die Internetseite http://www.mysql.de Binärcodeversionen für die verschiedenen Betriebssysteme stehen dort zum Herunterladen und anschließender Installation zur Verfügung. Datenbanken und SQL Schritte zur Installation von MySQL: ● ● ● ● ● ● ● Binärcode von der Seite http://www.mysql.de herunterladen Programmpaket unter Windows installieren Passwort für den Datenbankadministrator vergeben Anonyme Datenbankbenutzer einrichten Unter Windows NT/2000/XP läuft der Datenbankserver automatisch als Hintergrundprozess Manueller Start geschieht mit C:\> net start mysql Mit C:\>mysqlshow kann ein erster Funktionstest erfolgen Datenbanken und SQL ● In der MySQL-Distribution enthaltene Komponenten: ● MySQL-Server ● Client-Programme ● Zusatzsoftware, wie z.B. Grafische Benutzeroberflächen, ● Administrationssoftware usw. ● Referenz-Manuals (mysqld-nt.exe für Win32-Betriebssysteme) Datenbanken und SQL Kommunikation mit dem MySQLServer: ● MySQL-Monitor ( mysql ) aufrufen mit C:\>mysql -u <nutzer> -h <server> -p Bspl: C:\>mysql -u kamleiter -h 192.168.2.100 -p oder wenn sich Server und Client auf demselben Rechner befinden C:\>mysql -u kamleiter -h localhost -p Datenbanken und SQL SQL und Delphi ● SQL wird im allgemeinen dazu verwendet, Daten von einem SQL-Server abzufragen. Dieser Server definiert die Syntax der SQLAnweisungen. ● Bei der Arbeit mit Delphi gibt es zwei Möglichkeiten: Entweder man arbeitet mit einer lokalen Datenbank (dBase, Paradox), dann muss Delphi den SQL-Server mit seinen Befehlen emulieren oder man arbeitet mit einem externen SQL-Server. Datenbanken und SQL Verwendung von SQL mit dem Datenbankexplorer unter Delphi: Lade den Datenbankexplorer ●Erstelle einen neuen Alias für die Datei „Tutanden“ in Deinem Home-Verzeichnis ●Öffne die Datei Kurs1.dbf ●Betrachte dir die Felder mit ihren Bezeichnungen ●Trage auf der rechten Seite auf der Registerkarte SQL den folgenden Befehl ein: ● SELECT * FROM kurs1.dbf ● Klicke auf das Blitzsymbol