SQL Einfachster Weg, um zu Klausurübungszwecken eine kleine Datenbank zu erstellen?

tryk

Ensign
Registriert
Juni 2008
Beiträge
221
Hey.
Ich schreibe Ende nächster Woche eine Klausur im Fach Datenbanksysteme (2. Semester WI).
Da ich leider noch alles andere als fit bin und ständig mit den Befehlen durcheinander komme (Relationale Algebra, SQL-DDL, SQL-DML), habe ich mir überlegt, dass es mir bestimmt was bringen würde, wenn ich eine kleine Datenbank entwerfe, die für mich privat einen Zweck hat und wo ich den Umgang mit den Befehlen besser lernen kann.

Ich habe gegooglet, allerdings bin ich nicht wirklich schlauer geworden.
Oftmals ist von Internet-Servern die Rede, die mit speziellen Programmen angesteuert werden.
Gibt es denn auch eine Möglichkeit mit einer bestimmten Software, einfach eine Datenbank auf dem Laptop (in meinem Fall MAC)
zu entwerfen, ohne über das Internet etwas machen zu müssen?

Ich würde gerne einfach ein Schema eröffnen und anfangen. Sofern das ganze funktioniert, würde ich natürlich gerne eine Ausgabe hinbekommen, dass ich die Datenbank auch über meinen Laptop hinaus verwenden kann.


Könnt Ihr mir helfen?

Grüße!
 
2 schnelle Varianten

1. OpenOffice/LibreOffice Base respektive MS Office Access... eine primitive SQL Datenbank, verpackt in eine hübsche Oberfläche
2. XAMPP -> enthält MySQL sowie mit Apache+phpMyAdmin ne durchaus verwendbare Oberfläche. Alternativ: OO/LO Base können direkt auf MySQL-Datenbanken zugreifen = mächtige relationale Datenbank + hübsche Oberfläche
 
Danke schon mal!
Was meinst du mit standard? Ich habe die Version 10.7.5, aber ich finde kein PostgresSQL :-o
 
korrekt heißt es PostgreSQL, ohne das 2. "s"...
unabhängig davon isses echt schnurz, ob man auf MariaDB, MySQL oder PostgreSQL übt. Alle 3 sind Open Source, alle 3 haben einen fast identischen Funktionsumfang, alle 3 sind weit verbreitet im "realen Leben"....
 
Also PG ist schon 'ne ganze Ecke komplexer als MySQL/MariaDB. Vor allem wenn man sich so Dinge wie die sequence-Generatoren anschaut. Natürlich kann man in PG damit jeden verrückten Scheiß machen, aber im Normalfall will man doch einfach nur sein +1 Auto-Increment. Sowas geht in MySQL 1000x leichter ;)
Dafür bietet PG aber auch ganz viele praktische Datentypen, die es in MySQL nicht gibt, aber das sind Typen, die ihr im Studium nicht benutzen werdet.
 
Du brauchst XAMPP (und phpMyAdmin, das dabei ist).
 
Eventuell ist auch SQLite für dich interessant.

Ist Freeware und für Windows, Mac, Linux verfügbar.

Dazu jede Menge Drittanbieter Software, wie Database Manager, Browser usw.


http://www.sqlite.org/download.html

http://www.sqlite.org/cvstrac/wiki?p=ManagementTools

http://www.sqlite.org/cvstrac/wiki

https://addons.mozilla.org/de/firefox/addon/sqlite-manager/


ibm9001
_______________
Daddelmaschine: i5 2500K/4.4 GHz/EKL Brocken & NOCTUA NF-F12 // Fatal1ty P67 Performance // 16GB Corsair Vengeance LP,DDR3-1600 RAM // VTX3D HD 7970 X-Edition // Samsung S22B300 // SB Audigy 2 // Samsung 470 SSD
_______________
Internet-Kiste: Phenom II X6 1045T @ 3.0GHz @ 3.6GHz Turbo & SCYTHE Big Shuriken // ASROCK A785GMH/128M // 12 GByte Ram // Sapphire HD 6670 low Profile // Dell UltraSharp 2007FP // Samsung 470 SSD
 
Danke.
Ich habe jetzt (Mesa)SQLite auf meinem Mac installiert, aber blicke noch nicht ganz durch.
In der Uni und in den Übungen haben wir gelernt, einfach zuerst ein Schema zu erstellen und dann Tabellen anlegen.
So wollte ich jetzt auch vorgehen - Bspw:

CREATE SCHEMA bibliothek
CREATE TABLE bibliothek.buch (
name VARCHAR,
id INTEGER,
PRIMARY KEY (id),
);

Jedoch funktioniert das nicht ansatzweise, wenn ich es in der Kategorie SQL Query in das Tab1 Feld eingebe und ausführe.
Es kommen nur Syntax-Fehler.

Habe jetzt mal eine halbe Stunde in Tutorials rumgeschaut, aber ich verstehe kaum, was die da machen und die Befehle habe ich oftmals auch noch nie gehört.

Verstehe ich hier etwas komplett falsch oder ist die Lösung relativ leicht?

Ich möchte nur wie oben ein paar Tabellen einfügen, diese mit Values versehen, etwas mit PKs und FKs und Manipulationen rumprobieren und ggf. diese Datenbank dann mal exportieren und privat nutzen.


Grüße!
 
"Schema" hab ich in dem Zusammenhang echt noch nicht gehört...
Was du, ausgehend von deiner Notation, eher suchst ist "CREATE DATABASE datenbankname;"

Ich bin mir übrigens alles andere als sicher, dass SQLite mit Foreign Keys umgehen kann. Um da auf Nummer Sicher zu gehen solltest du doch auf PostgreSQL oder MySQL (mit der Engine "InnoDB", "MyISAM" kann auch keine FKs) setzen.

Zum Üben ist es aber echt total eigenartig, alles direkt in der Shell zu machen. Setz dir ein XAMPP auf, da hast du einen Apache-Server (als Mittel zum Zweck), MySQL und phpMyAdmin. Von phpMA aus kannst du deine Datenbank viel leichter administrieren. Alles was du darin herumklickst wird in korrekte SQL-Befehle umgesetzt, die du dann auch noch einmal angezeigt bekommst.
 
Danke.
Allerdings kann ich mit den Begrifflichkeiten kaum etwas anfangen.
Hast du einen Link für mich oder eine spezielle Bezeichnung, die mir eine Anleitung dafür anzeigt?
Ich gehe davon aus, dass ich XAMPP installieren muss, in dem dieser Apache-Server integriert ist, sowie PHPmyAdmin und MyQSL.
Aber wo wird da meine Datenbank gebaut? In dem Programm oder muss ich dazu einen Internethost anlegen?
 
1) Installiere XAMPP
2) Im Controlpanel klicke auf MySql Start
3) Im Controlpanel klicke auf MySql Admin

PHPMyAdmin öffnet sich - fertig.

Ein lokaler Apache läuft dann bereits unter http://localhost

Daaron schrieb:
"Schema" hab ich in dem Zusammenhang echt noch nicht gehört...

Ist aber das gebräuchliche Wort für ein E/R-Datenbankdesign an sich.
 
Zuletzt bearbeitet:
Sicher, aber im Kontext von "CREATE SCHEMA bibliothek" hab ich das noch nie gesehen. Mir ist noch kein RDBMS unter gekommen, das so arbeitet.
 
Achso, sorry, das hab ich nicht gesehen ^^
 
Siehe Zitat. Schema und Database bezeichnen zumindest in MySQL dasselbe.

In MySQL, the two are equivalent. The keyword DATABASE or DATABASES
can be replaced with SCHEMA or SCHEMAS wherever it appears. Examples:

CREATE DATABASE <=> CREATE SCHEMA
SHOW DATABASES <=> SHOW SCHEMAS

--
Paul DuBois, MySQL Documentation Team
Madison, Wisconsin, USA
MySQL AB, www.mysql.com
Quelle: http://lists.mysql.com/mysql/211616
 
Ich finde einen Tipp an dieser Stelle ohne weitere Angaben des TS schwierig. Wenn der Prof ein Erbsenzähler ist und die Syntax "seines" DBS in der Klausur sehen möchte, dann sollte der TS das auch verwenden (mal so salopp gesagt nützt ja nichts, wenn er eine Sequence sehen möchte und man mit auto increment daher kommt. Bitte nicht an diesem Satz aufhängen, war nur exemplarisch). Da könnte genauso gut Oracle Express die beste Antwort sein.

Ansonsten zum Thread:

SQLite kann Fremdschlüssel. Bei späteren Operationen muss man jedoch jedesmal explizit angeben, dass diese auch verwendet werden sollen, sonst findet keine Prüfung statt -> Fallgrube, auch wenn für den TS irrelevant. Davon abgesehen würde ich für den Zweck des TS niemals Sqlite verwenden.

create schema kennen alle bekannten RDBMS, wenn auch eher aus historischen Gründen. Aber falls der Prof. das so sehen will, dann bringt es imho auch nichts, den TS von der Verwendung abzuhalten. Zumindest in MySQL sind create schema/create database schlicht nur Synonyme, bei anderen DBs kann das anders sein.
 
Zuletzt bearbeitet:
Das muss dann aber wirklich historische Gründe im Sinne von "technologische Steinzeit - als die Bytes laufen lernten" sein. Ich kann mich echt nicht daran erinnern, in den letzten 10 Jahren mal irgendwo "Schema" gesehen zu haben... Im schlimmsten Fall ist Schema so veraltet, dass es bei neuen RDBMS-Versionen evtl. irgendwann aus der Kompatibilitätsliste gestrichen wird.
 
Habe es in der Praxis auch selten bis nie gesehen, hast völlig recht. Im Ms SQL Server wurde es interessanterweise erst vor ein paar Jahren eingeführt und findet dort offensichtlich schon Anwendung, ist aber wohl auch mächtiger und funktionaler als in anderen Produkten. Im SQL 86 Standard war es damals wohl jedenfalls schon drin.
 
Zuletzt bearbeitet:
Zurück
Oben