Willkommen Gast. Bitte einloggen oder registrieren.
Hast du deine Aktivierungs E-Mail übersehen?

Benutzername: Passwort:

Autor Thema: DS Datenbank  (Gelesen 5794 mal)

dario-hamidi

  • Stufe 1
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 9
  • Dungeonslayer
    • Awards
DS Datenbank
« am: 02. Februar 2012, 20:36:16 »

Hallo zusammen,

bin neu hier im Forum. Ich habe jetzt seit einiger Zeit einer Runde am Laufen (d.h. wir haben es geschafft uns zum zweiten Mal f?r DS zu treffen und das dritte Mal ist geplant  ::) ). Was den Spielern und mir als SL aufgefallen ist, ist dass die Wahl der Talente ziemlich lange dauert, insbesondere nach einem Stufenanstieg. Das liegt daran, dass man lange nach den Talenten suchen muss, die der Charakter ?berhaupt nehmen kann.

Deshalb hab ich mich mal hingesetzt und alle Talente in eine Datenbank gepackt. Die Datenbank verbindet jedes Talent mit den zugeh?rigen Stufen, R?ngen und Klassen. Wer sich mit SQL auskennt kann die Datenbank direkt benutzen, aber eigentlich ist sie f?r diejenigen gedacht, die ein Programm f?r Dungeonslayers erstellen wollen. Die Datenbank enth?lt alle Talente aus dem Grundregelwerk, w?rde also sagen, dass sie vollst?ndig ist.

Ich hoffe das erweist sich f?r einige Leute als n?tzlich. ?ber Feedback w?rde ich mich freuen.

P.S. falls das hier das falsche Forum ist, bitte den Thread verschieben

EDIT: Die Datenbank enth?lt nun auch alle Zauber aus dem Grundregelwerk.
EDIT 2: Die SQL-Anweisungen sind f?r sqlite3
Gespeichert

Germon

  • Immersieg Hessen
  • Stufe 20
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 3724
  • Kultur: Alle
  • Klasse: Alle
  • Ich will Starslayers... jetzt!
  • Orga eines DS-Community-Events Chronist (Silber): Hat 4+ DS-Spielsessionberichte gepostet Hat 1+ MGQ geleitet Hat 1+ MGQ-Spielbericht veröffentlicht Mitglied in einem DS-Club Unser die Besonnenheit: Hat das Arltum Caernos in den Kronkriegen unterstützt Conslayer - Uhrwerk DemoTeam Scriptor (Bronze): Fanwerk oder Tool für DS erstellt Hat eine Seite mit DS-Inhalten (CampaignLogs, Downloads, Settings oder Tools) Registrierter Betatester
    • Awards
Antw:DS Talentdatenbank
« Antwort #1 am: 02. Februar 2012, 20:43:19 »

Mit Datenbanken kenn ich mich nicht aus.
Aber da k?nnen Klassenwerk bzw. Talentwerk weiterhelfen.
Gespeichert
Germon mal wieder mit Schnellen Reflexen I unterwegs.

Backalive

  • Stufe 20
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 3627
  • Kultur: Waldelfen
  • Klasse: Zauberer
  • G+ : Bring M. Backalive
  • DS-Communitykalender Hat an 1+ MGQ teilgenommen Unser die Besonnenheit: Hat das Arltum Caernos in den Kronkriegen unterstützt 1000+ Postings Mitglied der DS-GooglePlus-Gruppe Scriptor (Bronze): Fanwerk oder Tool für DS erstellt Chronist (Bronze): Hat 1+ DS-Spielsessionbericht gepostet Beta (Bronze): Hat an einem abgeschlossenen Betatest teilgenommen Kulturennenner: 5 Lieblingskulturen Caeras ausführlich genannt Schimmerbund: Mitglied im Schimmerbund
    • Awards
Antw:DS Talentdatenbank
« Antwort #2 am: 02. Februar 2012, 20:53:17 »

Listen und Tabellen zu Klassen, Talenten, Zaubern, Talentproben und einigem mehr ist reichlich zu finden, wenn man hier durchs Forum streift.  :)
Gespeichert
Alt genug, um es besser zu wissen; jung genug, um es nochmal zu tun.
Mark Twain

dario-hamidi

  • Stufe 1
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 9
  • Dungeonslayer
    • Awards
Antw:DS Talentdatenbank
« Antwort #3 am: 02. Februar 2012, 20:57:46 »

Aber da k?nnen Klassenwerk bzw. Talentwerk weiterhelfen.

Danke, das Klassenwerk kannte ich noch nicht.

Listen und Tabellen zu Klassen, Talenten, Zaubern, Talentproben und einigem mehr ist reichlich zu finden, wenn man hier durchs Forum streift.  :)


Hab mich noch nicht viel im Forum umgeschaut :)

Das Problem mit solchen Listen ist, dass man noch extra Aufwand betreiben muss, wenn man sie in irgendeinem Programm verwenden will (ich bin denke ich nicht der erste, der irgendwas in der Richtung machen will). So eine Datenbank kann man i.d.R. ohne weiteres irgendwo einbinden.
Gespeichert

Backalive

  • Stufe 20
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 3627
  • Kultur: Waldelfen
  • Klasse: Zauberer
  • G+ : Bring M. Backalive
  • DS-Communitykalender Hat an 1+ MGQ teilgenommen Unser die Besonnenheit: Hat das Arltum Caernos in den Kronkriegen unterstützt 1000+ Postings Mitglied der DS-GooglePlus-Gruppe Scriptor (Bronze): Fanwerk oder Tool für DS erstellt Chronist (Bronze): Hat 1+ DS-Spielsessionbericht gepostet Beta (Bronze): Hat an einem abgeschlossenen Betatest teilgenommen Kulturennenner: 5 Lieblingskulturen Caeras ausführlich genannt Schimmerbund: Mitglied im Schimmerbund
    • Awards
Antw:DS Talentdatenbank
« Antwort #4 am: 02. Februar 2012, 21:14:40 »

Hab mich noch nicht viel im Forum umgeschaut :)

Habe bei meinem vorigen Post diesen Link zur Werkschau nicht gefunden, und dann ist mir auch noch das Forum abgeschmiert.
Hier findet man umfangreiche Werke zu 'Dungeonslayers'.
Gespeichert
Alt genug, um es besser zu wissen; jung genug, um es nochmal zu tun.
Mark Twain

dargndorp

  • Stufe 11
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 645
  • Hat DS-Material in eine andere Sprache übersetzt 500+ Postings Scriptor (Bronze): Fanwerk oder Tool für DS erstellt DS4-Betatester
    • Awards
Antw:DS Talentdatenbank
« Antwort #5 am: 02. Februar 2012, 22:18:33 »

Ich finde die Idee ganz witzig - echte Grundlagenarbeit.

Allerdings habe ich keine M?glichkeit gefunden, dein Skript nach LibreOffice zu f?ttern - vielleicht bietet LibreOffice das so nicht an, vielleicht seh ich's einfach nicht. Man kann zwar direkt SQL-Befehle reinwerfen, aber der schmiert schon bei PRAGMA ab (bzw weint rum "kenn ich nicht, mag ich nicht").

Hat jemand Starthilfe f?r mich?
Gespeichert

dario-hamidi

  • Stufe 1
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 9
  • Dungeonslayer
    • Awards
Antw:DS Talentdatenbank
« Antwort #6 am: 02. Februar 2012, 22:29:44 »

Allerdings habe ich keine M?glichkeit gefunden, dein Skript nach LibreOffice zu f?ttern - vielleicht bietet LibreOffice das so nicht an, vielleicht seh ich's einfach nicht. Man kann zwar direkt SQL-Befehle reinwerfen, aber der schmiert schon bei PRAGMA ab (bzw weint rum "kenn ich nicht, mag ich nicht").

Hat jemand Starthilfe f?r mich?

Danke f?r die R?ckmeldung.

L?sungsvorschlag:
Probier mal die Zeile mit PRAGMA vorher aus der Datei zu l?schen.

nicht ganz so technische Erkl?rung:
Bei der Verwendung von sqlite3 ist die leider n?tig, damit Fremdschl?ssel korrekt gehandhabt werden. Werden die n?mlich nicht beachtet k?nnte man z.B. ein Talent der Klasse "Barde" zuordnen, obwohl es die Klasse gar nicht gibt. OpenOffice m?sste diese Fremdschl?ssel automatisch beachten, daher sollte die Anweisung in dem Fall nicht n?tig sein.
Gespeichert

dargndorp

  • Stufe 11
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 645
  • Hat DS-Material in eine andere Sprache übersetzt 500+ Postings Scriptor (Bronze): Fanwerk oder Tool für DS erstellt DS4-Betatester
    • Awards
Antw:DS Talentdatenbank
« Antwort #7 am: 02. Februar 2012, 22:55:24 »

Irgendwas funktionuckelt da nicht - wenn ich als erstes Statement

CREATE TABLE klasse (
       id TEXT PRIMARY KEY,
       name TEXT,
       heldenklasse INTEGER
);


in LibreOffice gebe, haut er mir frech ein

1: Wrong data type: TEXT in statement [CREATE TABLE klasse (id TEXT


um die Ohren.

Wenn ich das SQL-Statement auf eine Zeile packe, sieht's auch nicht besser aus.
Irgendwie will ich nicht glauben, da? LibreOffice so doof ist. Liegt wohl an mir. Ideen?
Gespeichert

dario-hamidi

  • Stufe 1
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 9
  • Dungeonslayer
    • Awards
Antw:DS Talentdatenbank
« Antwort #8 am: 03. Februar 2012, 14:10:36 »

Hm, okay ich habe mit Hilfe von Google einen sqlite Treiber f?r LibreOffice gefunden (englisch):
http://www.ch-werner.de/sqliteodbc/

Falls das nicht klappen sollte, im Anhang befindet sich noch die fertige Datenbank, vielleicht kann sich LibreOffice auch so mit der verbinden (soll angeblich mit dem ODBC Treiber gehen).

Ich setz mich dann mal an eine Version des Skripts, die auch mit anderen Datenbanksystemen l?uft...
Gespeichert

dargndorp

  • Stufe 11
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 645
  • Hat DS-Material in eine andere Sprache übersetzt 500+ Postings Scriptor (Bronze): Fanwerk oder Tool für DS erstellt DS4-Betatester
    • Awards
Antw:DS Talentdatenbank
« Antwort #9 am: 04. Februar 2012, 12:36:47 »

Wegen Zeitmangel spiel ich einstweilen mit dem Datenbank-Ged?ns nicht weiter. Habe sowieso den Eindruck, da? LibreOffice das falsche Tool f?r den Job ist.
Gespeichert

dario-hamidi

  • Stufe 1
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 9
  • Dungeonslayer
    • Awards
Antw:DS Datenbank
« Antwort #10 am: 05. Februar 2012, 14:51:03 »

Habe jetzt noch alle Zauberspr?che aus dem Grundregelwerk eingebaut. Die ver?nderte Version findet sich im Anhang des ersten Beitrags.
Gespeichert

avakar

  • Stufe 14
  • *
  • Offline Offline
  • Beiträge: 930
  • Kultur: Alle
  • Klasse: Alle
  • meist inaktiv
  • Hat eine Seite mit DS-Inhalten (CampaignLogs, Downloads, Settings oder Tools) DS-Communitykalender Scriptor (Bronze): Fanwerk oder Tool für DS erstellt Erbe ist Recht: Hat das Arltum Nordek in den Kronkriegen unterstützt
    • SLAYER'S PIT
    • Awards
Antw:DS Datenbank
« Antwort #11 am: 05. Februar 2012, 16:10:48 »

Hallo dario-hamidi,

in welchem SQL-Dialekt liegt der Datenbankabzug des ersten Posts vor? Standard-SQL kennt weder den Datentypen "TEXT" noch das Wort "PRAGMA", somit kann man ohne Zusatzinformationen zum SQL-Dialekt mit der Datenbank leider nichts anfangen.

Viele Gr??e
avakar
Gespeichert
SLAYER'S PIT - Fanwerk für Dungeonslayers
VOIDSPACE - Fanwerk für Starslayers

dario-hamidi

  • Stufe 1
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 9
  • Dungeonslayer
    • Awards
Antw:DS Datenbank
« Antwort #12 am: 05. Februar 2012, 20:11:44 »

in welchem SQL-Dialekt liegt der Datenbankabzug des ersten Posts vor? Standard-SQL kennt weder den Datentypen "TEXT" noch das Wort "PRAGMA", somit kann man ohne Zusatzinformationen zum SQL-Dialekt mit der Datenbank leider nichts anfangen.

Da hast du nat?rlich Recht. Das ganze ist f?r sqlite3 gemacht, habe ich irgendwo im Thread auch genannt (der erste Beitrag wurde dahingehend editiert).

sqlite3 braucht die PRAGMA Anweisung um Fremdschl?ssel zu beachten, die Zeile kann bei Verwendung anderer DBMS also weglassen. Der Datentyp "TEXT" wird meines Wissens nach auch von postgres unterst?tzt.
Gespeichert

avakar

  • Stufe 14
  • *
  • Offline Offline
  • Beiträge: 930
  • Kultur: Alle
  • Klasse: Alle
  • meist inaktiv
  • Hat eine Seite mit DS-Inhalten (CampaignLogs, Downloads, Settings oder Tools) DS-Communitykalender Scriptor (Bronze): Fanwerk oder Tool für DS erstellt Erbe ist Recht: Hat das Arltum Nordek in den Kronkriegen unterstützt
    • SLAYER'S PIT
    • Awards
Antw:DS Datenbank
« Antwort #13 am: 05. Februar 2012, 21:09:24 »

Alles klar.

In welchem Encoding speichert sqlite3 stringwertige Inhalte? UTF-8, latin1? Diese Angabe ist  immer sehr hilfreich, wenn man Datenbankabz?ge der Allgemeinheit zug?nglich macht.

Noch ein paar Anmerkungen:
 - Tabellen- und Spaltennamen nicht in camelCase. Entweder nur Gro?- oder Kleinschreibung verwenden, dass erh?ht die Portabilit?t.
 - Das verwendete Schema und dahinterliegende Modell erl?utern. Was bedeutet bspw. `heldenklasse` in der Tabelle `klasse`, sind die Inhalte der Spalten `distanz`, `abklingzeit` u.?. maschinell auswertbar d.h. liegt hier ein Format zu Grunde oder sind hier tats?chlich beliebige Textwerte zu finden. Letzteres w?re schade, da Auswertbarkeit ein entscheidendes Kriterium f?r eine Datenbasis ist.

Hast Du in den Beschreibungen Zeilenumbr?che drin? W?re das viel Arbeit f?r Dich, diese zu entfernen? Hintergrund ist, dass eine Datenbasis wie diese eigentliche keine Formatierungsanweisungen enthalten soll. Dies ist Aufgabe der GUI-/Darstellungsschicht zu entscheiden, wann ein Zeilenumbruch geschehen soll.

Mal abgesehen davon finde ich die Datenbasis schon recht gut. Man kann daraus fast schon das Klassenwerk oder Talentwerk generieren. Hierzu ben?tigt man lediglich noch die Assoziation der Klassen und Heldenklassen untereinander, um den doch recht flachen Klassenbaum zu erstellen.

Wo eine solche Datenbasis richtig m?chtig werden kann, ist die Auswertbarkeit von Abh?ngigkeiten. Wenn man bspw. an jedem Talent formulieren kann, auf welche Charakterwerte (Eigenschaften, Attribute, Fertigkeiten, berechn. Werte) welche Auswirkungen existieren, kann man Fragen wie "Welche Talente kann ich f?r einen Krieger nutzen, um Angriff zu erh?hen" oder "Welche Talente erh?hen LK, direkt oder indirekt" usw. beantworten kann. Dann k?nnte man sogar Optimierungsalgorithmen dar?ber laufen lassen. Dazu ben?tigt man aber ein etwas erweitertes Modell, sollte bei DS4 nicht allzu schwer zu entwickeln sein. Nur so als Anregung, hatte sowas schonmal ?berlegt, f?r das Klassenwerk zu machen, ist dann aber mangels Zeit und Interesse an DS4 wieder eingeschlafen ;)
Gespeichert
SLAYER'S PIT - Fanwerk für Dungeonslayers
VOIDSPACE - Fanwerk für Starslayers

dario-hamidi

  • Stufe 1
  • *
  • Offline Offline
  • Geschlecht: Männlich
  • Beiträge: 9
  • Dungeonslayer
    • Awards
Antw:DS Datenbank
« Antwort #14 am: 05. Februar 2012, 21:31:16 »

Zitat
In welchem Encoding speichert sqlite3 stringwertige Inhalte? UTF-8, latin1? Diese Angabe ist  immer sehr hilfreich, wenn man Datenbankabz?ge der Allgemeinheit zug?nglich macht.

Das Encoding der Datenbank kann man einstellen (UTF-8, UTF-16BE oder UTF-16LE). Die sql-Datei ist UTF-8 kodiert.

Zitat
- Tabellen- und Spaltennamen nicht in camelCase. Entweder nur Gro?- oder Kleinschreibung verwenden, dass erh?ht die Portabilit?t.
Gerade ge?ndert.

Zitat
- Das verwendete Schema und dahinterliegende Modell erl?utern. Was bedeutet bspw. `heldenklasse` in der Tabelle `klasse`, sind die Inhalte der Spalten `distanz`, `abklingzeit` u.?. maschinell auswertbar d.h. liegt hier ein Format zu Grunde oder sind hier tats?chlich beliebige Textwerte zu finden. Letzteres w?re schade, da Auswertbarkeit ein entscheidendes Kriterium f?r eine Datenbasis ist.
Die Inhalte der Spalten wurden direkt aus dem Regelwerk herauskopiert, sind also nur bedingt maschinell auswertbar (d.h. es liegt das Format des Regelwerks vor).

Zitat
Hast Du in den Beschreibungen Zeilenumbr?che drin? W?re das viel Arbeit f?r Dich, diese zu entfernen? Hintergrund ist, dass eine Datenbasis wie diese eigentliche keine Formatierungsanweisungen enthalten soll. Dies ist Aufgabe der GUI-/Darstellungsschicht zu entscheiden, wann ein Zeilenumbruch geschehen soll.

Das mit den Formatierungsanweisungen ist mir klar, ich habe die Zeilenumbr?che aus Gr?nden der besseren Lesbarkeit dringelassen. Sollte aber auch kein Problem sein sie zu entfernen. Das einzige Ausgabeformat, das ich ernsthaft in Erw?gung gezogen habe, ist HTML und da spielen die Zeilenumbr?che keine Rolle.


Zitat
Mal abgesehen davon finde ich die Datenbasis schon recht gut. Man kann daraus fast schon das Klassenwerk oder Talentwerk generieren. Hierzu ben?tigt man lediglich noch die Assoziation der Klassen und Heldenklassen untereinander, um den doch recht flachen Klassenbaum zu erstellen.

Die fehlenden Assoziationen bau ich noch ein.

Zitat
Wo eine solche Datenbasis richtig m?chtig werden kann, ist die Auswertbarkeit von Abh?ngigkeiten. Wenn man bspw. an jedem Talent formulieren kann, auf welche Charakterwerte (Eigenschaften, Attribute, Fertigkeiten, berechn. Werte) welche Auswirkungen existieren, kann man Fragen wie "Welche Talente kann ich f?r einen Krieger nutzen, um Angriff zu erh?hen" oder "Welche Talente erh?hen LK, direkt oder indirekt" usw. beantworten kann.

Da hast du nat?rlich recht, allerdings h?tte das meinen Zeitrahmen gesprengt.

Das Problem mit der Datenbank ist, dass das ganze als quick-and-dirty Versuch angefangen hat und ich nicht damit gerechnet habe, das Ding ?berhaupt mal fertig zu machen.

Ich danke vielmals f?r die ausf?hrliche Kritik :)
Gespeichert