Was ist eine Datenbank? Was ist SQL?

Beispi elprojekte - Datenbankprogrammierung – SQLite mit Delphi www.delphi-treff.de 184

7.2. Datenbankprogrammierung – SQLite mit Delphi

Im Vergleich zu den höherpreisigen Delphi-Editionen Professional, Enterprise usw. sind die Datenbankfähigkeiten der Starter-Edition sehr eingeschränkt. Für dieses E-Book werden wir SQLite verwenden, weil hierfür kein eigener Datenbank-Server erforderlich ist, sondern die Datenbank quasi in die Anwendung integriert wird. Zudem ist SQLite kostenlos verfügbar. Bevor wir uns aber um die Datenbank kümmern können, sind ein paar Grundlagen erforderlich. 7.2.1. Was ist eine Datenbank? Zunächst einmal das Wichtigste: Was ist überhaupt eine Datenbank? In diesem Zusammenhang unterscheidet man verschiedene Begriffe: Datenbankmanagementsystem DBMS, Datenbanksystem DBS und Datenbank DB. Ein DBMS ist eine Software, die Daten speichert und auf Anfrage wieder zur Verfügung stellt, z.B. MySQL. Die Datenbank DB sind die Daten, die vom DBMS gespeichert werden. Und ein Datenbanksystem ist beides zusammen. Was ein DBMS tut, hört sich zunächst einfach an. Jedoch sind DBMS optimiert für das, was sie tun sollen, so dass sie performant und zuverlässig sind. Es gibt unterschiedliche Arten von Datenbankenmanagementsystemen. Die bislang häufigste ist das relationale Datenbanksystem. In ihr werden Daten in Tabellen au h „‘elatio e genannt a gelegt. Jede eile de sel e Ta elle ei e eile i d „Date satz ge a t ist gleich aufgebaut. Die Daten verschiedener Tabellen können untereinander in Beziehung gebracht werden. Dazu in einem späteren Abschnitt mehr. Bekannte Vertreter hiervon sind Oracle, DB2, MySQL usw. Eine weitere Art sind objektorientierte Datenbanksysteme. Hierin werden direkt Objekte gespeichert zusammen mit ihren verbundenen Objekten, ohne dass der Entwickler die Daten eines Objekts erst in eine Tabellenform bringen muss. Objektorientierte Datenbanken haben jedoch nur eine geringe Verbreitung. Eine relativ neue Gattung sind die sog. NoSQL-Datenbanksysteme. Auch sie haben ihren Einsatzzweck, z.B. wenn es um Performance geht oder wenn mein kein starres Datenbankschema haben will, sondern jeden Datensatz einer Tabelle unterschiedlich aufbauen will. NoSQL-Datenbanken zerfallen in weitere Unterarten wie dokumentenorientierten Datenbanken, Key-Value-Caches usw. Bekannt sind z.B. CouchDB, Cassandra und Berkeley DB. Wir werden uns hier um die herkömmlichen relationalen Datenbanksysteme kümmern. 7.2.2. Was ist SQL? SQL steht für „“t u tu ed Que La guage u d ist – wie der Name schon sagt – keine richtige Programmiersprache, sondern eine Abfragesprache, die für die Kommunikation mit relationalen Datenbanken Beispi elprojekte - Datenbankprogrammierung – SQLite mit Delphi www.delphi-treff.de 185 verwendet wird. SQL erlaubt es, bestimmte Daten aus der Datenbank abzufragen, aber auch neue Daten hinzuzufügen, bestehende zu verändern und auch ganze Tabellen anzulegen oder zu entfernen. SQL wird von allen großen Datenbankservern Oracle, DB2, MS SQL Server, Interbase usw. unterstützt. Diese Datenbankserver sind allerdings nicht Inhalt dieses Kapitels. Vielmehr soll ein Einblick in die Arbeit mit SQLite gegeben werden. 7.2.3. Was ist SQLite?