part_db
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| part_db [2015/10/13 22:05] – konstantin | part_db [2017/07/27 10:52] (current) – konstantin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Part & Shape Rendernames | + | ====== Part Database ====== |
| - | Parttypen referenzieren | + | Die PartDatabase (im folgenden PartDB) soll eine einfache Möglichkeit zur Verwaltung von Bauteilen (elektrisch, |
| - | ==== Part Rendernames | + | Als Grundfunktion stellt sie ein Inventar von Teilen zur Verfügung. Erweiterte Funktionen wie Baugruppenverwaltung und Bestellungserzeugung folgen. |
| + | |||
| + | ===== Struktur ===== | ||
| + | |||
| + | Die Struktur der Datenbank lässt sich wie folgt zusammenfassen: | ||
| + | //Gruppen von Dingen mit Eigenschaften.// | ||
| + | |||
| + | Eigenschaften mit ihren Einheiten und Werten werden über die '' | ||
| + | Die Bezugsquelle hat eine Sonderrolle und wird nicht in Attributen sondern in einer eigenen Tabelle ('' | ||
| + | |||
| + | Die äussere Form der Teile erhält ebenfalls eine Sonderrolle und wird über die '' | ||
| + | |||
| + | Die Zuordnung von Attributen, Distributoren und der Form erfolgt über Relationstabellen mit Fremdschlüsseln. | ||
| + | |||
| + | === Benennungskonventionen=== | ||
| + | |||
| + | Die folgenden Konventionen zur Bennenung von Tabellen und Schlüsseln dienen der Übersichtlichkeit. Sie sind, soweit möglich, strikt einzuhalten. | ||
| + | |||
| + | == Tabellen == | ||
| + | |||
| + | In Tabellennamen werden die Worte mit Unterstrichen getrennt. Der Gruppenname von Tabellen wird mit zwei Unterstrichen vom Rest des Namens getrennt um in phpMyAdmin die Ordnerdarstellung zu ermöglichen. | ||
| + | |||
| + | Z.B.:\\ | ||
| + | '' | ||
| + | '' | ||
| + | '' | ||
| + | |||
| + | == Schlüssel == | ||
| + | |||
| + | Keys: | ||
| + | |||
| + | '' | ||
| + | |||
| + | Unique Keys: | ||
| + | |||
| + | '' | ||
| + | |||
| + | Foreign Keys: | ||
| + | |||
| + | '' | ||
| + | |||
| + | (Die > zwischen '' | ||
| + | |||
| + | ==== Eigenschaften (Attribute) ==== | ||
| + | |||
| + | Die Eigenschaften der Teile werden über Attribute definiert. | ||
| + | |||
| + | === Attribut Einheiten === | ||
| + | |||
| + | Attribute-Einheiten (Tabelle '' | ||
| + | |||
| + | * Name ('' | ||
| + | * Symbol ('' | ||
| + | |||
| + | === Attribute === | ||
| + | |||
| + | Attribute (Tabelle attributes) haben die folgenden Felder: | ||
| + | |||
| + | * Name ('' | ||
| + | * Symbol ('' | ||
| + | * Art ('' | ||
| + | * Einheit ('' | ||
| + | |||
| + | == Attributarten == | ||
| + | |||
| + | Die Art des Attributs kann eine der folgenden sein: | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Je nach Art des Attributs kann die Darstellung in der GUI gewählt werden (Formatierung, | ||
| + | |||
| + | == Attributwertlisten == | ||
| + | |||
| + | Für jedes Attribut der Art '' | ||
| + | |||
| + | Jeder Eintrag dieser Tabelle hat die Felder: | ||
| + | |||
| + | * Attribut ('' | ||
| + | * Wert ('' | ||
| + | |||
| + | Bei Attributen mit (einigermaßem) kleinem Wertebereich ist es sinnvoll, die möglichen Werte fest zu hinterlegen. So werden doppelte Einträge durch Unterschiede in der Schreibweise vermieden. | ||
| + | ==== Typgruppen & Typen ==== | ||
| + | |||
| + | Um die Einträge zu kategorisieren und die Navigierbarkeit der Datenbank zu verbessern werden die Teile Typen zugeordnet. Die Typen sind in Typgruppen zusammengefasst. | ||
| + | |||
| + | === Typgruppen === | ||
| + | |||
| + | Typgruppen (Tabelle '' | ||
| + | |||
| + | * Name ('' | ||
| + | |||
| + | === Typen === | ||
| + | |||
| + | Typen (Tabelle '' | ||
| + | |||
| + | * Name ('' | ||
| + | * Gruppe ('' | ||
| + | * Formgruppe ('' | ||
| + | |||
| + | Die Referenz auf ein Formtypgruppe ordnet einem Teiletypen eine Gruppe von Formtypen zu. | ||
| + | Die Auswahlmöglichkeiten in der GUI können so auf sinnvolle Werte beschränkt werden. | ||
| + | |||
| + | Z.B. wird dem Typ // | ||
| + | |||
| + | ==== Distributoren ==== | ||
| + | |||
| + | In der Tabelle '' | ||
| + | |||
| + | Die Distributoren haben folgende Felder: | ||
| + | * Name ('' | ||
| + | * Versandkosten ('' | ||
| + | * Freiversandgrenze ('' | ||
| + | * Webseite ('' | ||
| + | * Produkturlmuster ('' | ||
| + | |||
| + | ===== Formtypen & Formtypgruppen ===== | ||
| + | |||
| + | Allen Bauteilen muss eine Form zugeordnet werden. Die Form repräsentiert das physische Erscheinungsbild dieses Teils. Formen sind untergliedert in Formtypen und Formtypgruppen. | ||
| + | |||
| + | Teiletypen referenzieren eine Formtypgruppe (s. [[part_db# | ||
| + | |||
| + | ===== Teil & Form Anzeigenamen ===== | ||
| + | |||
| + | Die Anzeige von Teil- und Formtypen definieren wie die Bezeichnungen des Teils bzw. der Form in der GUI dargestellt werden. Sie können aus den Namensfeldern und Attributen der jeweiligen Tabellen (Teil/Form) zusammengebaut werden. | ||
| + | |||
| + | Anzeigenamen sind hierarchisch aufgebaut. Eine Ebene kann jeweils nur die Felder der darunterliegenden Ebene benutzen. Attribute können aus allen Ebenen genutzt werden. | ||
| + | |||
| + | ==== Syntax ==== | ||
| + | **Felder** {' | ||
| + | |||
| + | Wird durch den Wert des entsprechenden Feldes ersetzt. | ||
| + | |||
| + | **Attribute** {' | ||
| + | |||
| + | Wird durch den Wert des entsprechenden Attributes inkl. Einheit ersetzt. | ||
| + | |||
| + | **Attribute mit Formatierung** {' | ||
| + | |||
| + | Wird durch den Wert des Formatstrings ersetzt. Der Formatstring kann die folgenden Platzhalter enthalten: | ||
| + | |||
| + | * <min> : Minimum des Attributs, Multipliziert mit dem < | ||
| + | * <max> : Maximum des Attributs (sofern vorhanden), Multipliziert mit dem < | ||
| + | * < | ||
| + | * < | ||
| + | |||
| + | Falls ein Feld oder Attribut nicht vorhanden ist, wird nichts angezeigt. | ||
| + | |||
| + | ==== Teil Anzeigenamen | ||
| Beispiel: | Beispiel: | ||
| + | |||
| + | Anzeigename des Teiletyps '' | ||
| **PartTypeGroup**: | **PartTypeGroup**: | ||
| **PartType** | **PartType** | ||
| **Part** | **Part** | ||
| - | **Variante** | + | **Variante** |
| - | **Attribute** | + | **Attribute** |
| - | PartType Rendername: {partname} {attr:' | + | Anzeigeergebniss |
| - | ==== Shape Rendernames | + | ==== Form Anzeigenamen |
| - | **Shapetype** hat | + | **Formtyp** hat |
| - | * // | + | * // |
| - | * // | + | * // |
| - | **Shape** hat | + | **Form** hat |
| - | * // | + | * // |
| - | * // | + | * // |
| - | **Shapevariant** hat | + | **Formvariante** hat |
| - | * //Longname // : Kann Shape/Shapevariant-Attribute benutzen | + | * //Longname // : Kann Form/Formvariante-Attribute benutzen |
| - | * // | + | * // |
| - | ==== Syntax ==== | ||
| - | **Felder** {< | ||
| - | **Attribute** {attr:'< | ||
| - | Falls Attribut nicht vorhanden, nichts anzeigen. | ||
part_db.1444766749.txt.gz · Last modified: by konstantin
