User Tools

Site Tools


part_db

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
part_db [2015/10/18 20:33] – [Part & Shape Rendernames] konstantinpart_db [2017/07/27 10:52] (current) konstantin
Line 9: Line 9:
 Die Struktur der Datenbank lässt sich wie folgt zusammenfassen: Die Struktur der Datenbank lässt sich wie folgt zusammenfassen:
 //Gruppen von Dingen mit Eigenschaften.// //Gruppen von Dingen mit Eigenschaften.//
 +
 +Eigenschaften mit ihren Einheiten und Werten werden über die ''%%attributes__%%''-Tabellen definiert.
 +Die Bezugsquelle hat eine Sonderrolle und wird nicht in Attributen sondern in einer eigenen Tabelle (''distributors'') abgelegt.
 +
 +Die äussere Form der Teile erhält ebenfalls eine Sonderrolle und wird über die ''%%shape__%%''-Tabellen detailliert.
 +
 +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.:\\
 +''part''\\
 +''%%part__variant%%''\\
 +''%%part__variant_alternative%%''
 +
 +== Schlüssel ==
 +
 +Keys:
 +
 +''key:tablename.field''
 +
 +Unique Keys:
 +
 +''idx:tablename.field1,field2,...,fieldN''
 +
 +Foreign Keys:
 +
 +''fk:referencingTable.referencingField>referencedTable.referencedField''
 +
 +(Die > zwischen ''referencingField'' und ''referencedTable'' beachten.)
  
 ==== Eigenschaften (Attribute) ==== ==== Eigenschaften (Attribute) ====
Line 95: Line 131:
 ===== Teil & Form Anzeigenamen ===== ===== 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 Datenbank zusammengebaut werden.+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.
  
-==== Part Rendernames ====+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** {'field':'<feldname>'} : z.B: {'field':'shape-variant-shortname'
 + 
 +Wird durch den Wert des entsprechenden Feldes ersetzt. 
 + 
 +**Attribute** {'attr':'<attribut-name>'} : z.B. {'attr':'Durchmesser'
 + 
 +Wird durch den Wert des entsprechenden Attributes inkl. Einheit ersetzt. 
 + 
 +**Attribute mit Formatierung** {'attr':'<attribut-name>','format':'<formatstring>,'factor':<factor>} : z.B. {'attr':'Durchmesser','format':'<min>','factor':1000} 
 + 
 +Wird durch den Wert des Formatstrings ersetzt. Der Formatstring kann die folgenden Platzhalter enthalten: 
 + 
 +  * <min> : Minimum des Attributs, Multipliziert mit dem <factor>, sofern angegeben 
 +  * <max> : Maximum des Attributs (sofern vorhanden), Multipliziert mit dem <factor>, sofern angegeben) 
 +  * <unit>: Einheit des Attributs (sofern vorhanden) 
 +  * <symbol>: Einheitensymbol des Attributs (sofern vorhanden) 
 + 
 +Falls ein Feld oder Attribut nicht vorhanden ist, wird nichts angezeigt. 
 + 
 +==== Teil Anzeigenamen ====
  
 Beispiel: Beispiel:
  
-Rendername des Parttyps ''Widerstand'' : {partname} {attr:'Widerstand'} ({attr:'Toleranz'})+Anzeigename des Teiletyps ''Widerstand'' : {'field':'value'} {'attr':'Widerstand'} ({'attr':'Toleranz'})
  
 **PartTypeGroup**: Passive Elemente\\ **PartTypeGroup**: Passive Elemente\\
Line 109: Line 167:
 **Attribute**    : Widerstand=10kΩ, Art=Dickschicht, Toleranz=5%, etc.\\ **Attribute**    : Widerstand=10kΩ, Art=Dickschicht, Toleranz=5%, etc.\\
  
-Renderergebnis => Kohleschichtwiderstand 10kΩ (5%)+Anzeigeergebniss => Kohleschichtwiderstand 10kΩ (5%)
  
-==== Shape Rendernames ====+==== Form Anzeigenamen ====
  
-**Shapetype** hat  +**Formtyp** hat  
-  * //Name//       : Name des Shapetypes (zum Referenzieren) +  * //Name//       : Name des Formtyps (zum Referenzieren) 
-  * //Rendername// : Labeldefinition für Shapes dieses Typs (kann Shape-long/shortname und Shape/Shapevariant-Attribute benutzen)+  * //Rendername// : Labeldefinition für Formen dieses Typs
  
-**Shape** hat +**Form** hat 
-  * //Longname//  : Kann Shapevariant-long/shortname und Shape/Shapevariant-Attribute benutzen  +  * //Longname//  : Kann Formvariante-long/shortname und Form/Formvariante-Attribute benutzen  
-  * //Shortname// : Kann Shapevariant-long/shortname und Shape/Shapevariant-Attribute benutzen +  * //Shortname// : Kann Formvariante-long/shortname und Form/Formvariante-Attribute benutzen 
  
-**Shapevariant** hat +**Formvariante** hat 
-  * //Longname // : Kann Shape/Shapevariant-Attribute benutzen  +  * //Longname // : Kann Form/Formvariante-Attribute benutzen  
-  * //Shortname// : Kann Shape/Shapevariant-Attribute benutzen+  * //Shortname// : Kann Form/Formvariante-Attribute benutzen
  
  
-==== Syntax ==== 
-**Felder** {<feldname>} : z.B: {var-shortname}\\ 
-**Attribute** {attr:'<attribut-name>'} : z.B. {attr:'Durchmesser'} 
  
-Falls Attribut nicht vorhanden, nichts anzeigen. 
part_db.1445193208.txt.gz · Last modified: by konstantin