SQLite: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
Zeile 2: Zeile 2:
 
* [[SpatiaLite]]
 
* [[SpatiaLite]]
 
* [[PostgreSQL]]
 
* [[PostgreSQL]]
 +
  
 
== Über SQLite ==
 
== Über SQLite ==
Zeile 8: Zeile 9:
 
Datenbanksystem, DBS, Software). Sie wird u.a. in der Mobile Plattform und dem Betriebssystem Android eingesetzt und von [[QGIS]] unterstützt.  
 
Datenbanksystem, DBS, Software). Sie wird u.a. in der Mobile Plattform und dem Betriebssystem Android eingesetzt und von [[QGIS]] unterstützt.  
  
SQLite unterstützt einen Grossteil der im SQL-92-Standard festgelegten SQL-Sprachbefehle. Unter anderem implementiert SQLite Transaktionen, Unterabfragen (subselects), Sichten (views), Trigger und benutzerdefinierte Funktionen. Es fehlen jedoch Funktionen wie Referentielle Integrität (FOREIGN KEY) oder die Möglichkeit, Objektberechtigungen zu verwalten (GRANT, REVOKE). Für alle wichtigen Programmiersprachen existieren passende Datenbankschnittstellen. Auch ein in der Konsole und in Shell-Skripten verwendbares, einfaches Frontend ist vorhanden.  
+
SQLite unterstützt einen Grossteil der im SQL-92-Standard festgelegten SQL-Sprachbefehle. Unter anderem implementiert SQLite Transaktionen, Unterabfragen (subselects), Sichten (views), Trigger und benutzerdefinierte Funktionen. Für alle wichtigen Programmiersprachen existieren passende Datenbankschnittstellen. Auch ein in der Konsole und in Shell-Skripten verwendbares, einfaches Frontend ist vorhanden.
 +
 
 +
Es fehlen jedoch Funktionen wie Referentielle Integrität (FOREIGN KEY) oder die Möglichkeit, Objektberechtigungen zu verwalten (GRANT, REVOKE). Ganz speziell sind die "schwachen" Datentypen: Siehe unten.
  
Jede SQLite-Datenbank ist eine einfache Datei (typischerweise .sqlite), eine Client/Server-Architektur ist also nicht vorhanden. Es werden die Betriebssysteme Windows, Linux und MacOs unterstützt. Dazu kommt eine Erweiterung, ''[[SpatiaLite]]'' mit Geometrie-Datentypen.
+
Jede SQLite-Datenbank ist eine einfache Datei (typischerweise .sqlite). Eine Client/Server-Architektur ist also nicht vorhanden. Es werden die Betriebssysteme Windows, Linux und MacOs unterstützt. Dazu kommt eine Erweiterung, ''[[SpatiaLite]]'' mit Geometrie-Datentypen.
  
 
Die Daten können mit einem mitgelieferten Administrations-Tool (GUI) und vielen anderen DBMS-Admin-Tools (wie z.B. SQL Workbench) administriert werden. Dazu kommen Kommandozeilen-Tools.
 
Die Daten können mit einem mitgelieferten Administrations-Tool (GUI) und vielen anderen DBMS-Admin-Tools (wie z.B. SQL Workbench) administriert werden. Dazu kommen Kommandozeilen-Tools.
Zeile 20: Zeile 23:
 
* Siehe auch: SpatiaLite.
 
* Siehe auch: SpatiaLite.
  
== Notes ==
+
== Datentypen ==
  
SQLite does not really care about data-types:
+
SQLite does not really care about data types. Look at this:
  
 
   CREATE TABLE abc (
 
   CREATE TABLE abc (
Zeile 45: Zeile 48:
 
   PRAGMA table_info(abc);
 
   PRAGMA table_info(abc);
  
The unique operation supported by SQLite is: ALTER TABLE ... ADD COLUMN ...
+
Siehe http://www.sqlite.org/datatype3.html
SQLite doesn't allows to change anything after creation: http://www.sqlite.org/lang_altertable.html .
+
 
So, there is no way to fix: once you've initially created any column.
+
== Notizen ==
 +
 
 +
Schema evolution: The unique operation supported by SQLite is: ALTER TABLE ... ADD COLUMN ... SQLite doesn't allows to change anything after creation. So, there is no way to fix: once you've initially created any column. See http://www.sqlite.org/lang_altertable.html
  
 
== Weblinks ==
 
== Weblinks ==
  
 
tbd.
 
tbd.

Version vom 28. März 2011, 22:57 Uhr

Siehe auch:


Über SQLite

SQLite ist eine bekannte, robuste, einfach zu nutzende und leichtgewichtige relationale "Embedded Datenbank" (bzw. Datenbanksystem, DBS, Software). Sie wird u.a. in der Mobile Plattform und dem Betriebssystem Android eingesetzt und von QGIS unterstützt.

SQLite unterstützt einen Grossteil der im SQL-92-Standard festgelegten SQL-Sprachbefehle. Unter anderem implementiert SQLite Transaktionen, Unterabfragen (subselects), Sichten (views), Trigger und benutzerdefinierte Funktionen. Für alle wichtigen Programmiersprachen existieren passende Datenbankschnittstellen. Auch ein in der Konsole und in Shell-Skripten verwendbares, einfaches Frontend ist vorhanden.

Es fehlen jedoch Funktionen wie Referentielle Integrität (FOREIGN KEY) oder die Möglichkeit, Objektberechtigungen zu verwalten (GRANT, REVOKE). Ganz speziell sind die "schwachen" Datentypen: Siehe unten.

Jede SQLite-Datenbank ist eine einfache Datei (typischerweise .sqlite). Eine Client/Server-Architektur ist also nicht vorhanden. Es werden die Betriebssysteme Windows, Linux und MacOs unterstützt. Dazu kommt eine Erweiterung, SpatiaLite mit Geometrie-Datentypen.

Die Daten können mit einem mitgelieferten Administrations-Tool (GUI) und vielen anderen DBMS-Admin-Tools (wie z.B. SQL Workbench) administriert werden. Dazu kommen Kommandozeilen-Tools.

SQLite Tools

  • SQLite Database Browser
  • tbd.
  • Siehe auch: SpatiaLite.

Datentypen

SQLite does not really care about data types. Look at this:

 CREATE TABLE abc (
   a potato NOT NULL,
   b tomato NOT NULL,
   c green_salad NOT NULL);
 
 INSERT INTO abc (a, b, c)
   VALUES (1, 'a', 1.1);
 
 INSERT INTO abc (a, b, c)
   VALUES (2, 'b', 2.2);
 
 INSERT INTO abc (a, b, c)
   VALUES (3.3, 3, 'c');
 
 SELECT a, b, c FROM abc;
 
 SELECT TypeOf(a), TypeOf(b), 
   TypeOf(c) FROM abc;
 
 PRAGMA table_info(abc);

Siehe http://www.sqlite.org/datatype3.html

Notizen

Schema evolution: The unique operation supported by SQLite is: ALTER TABLE ... ADD COLUMN ... SQLite doesn't allows to change anything after creation. So, there is no way to fix: once you've initially created any column. See http://www.sqlite.org/lang_altertable.html

Weblinks

tbd.