Wenn ich eine Datenbank entwerfe, frage ich mich immer, ob es eine beste Möglichkeit gibt, ein Element in meiner Datenbank zu benennen. Sehr oft stelle ich mir folgende Fragen:
- Sollten Tabellennamen Plural sein?
- Sollten Spaltennamen singulär sein?
- Soll ich Tabellen oder Spalten voranstellen?
- Sollte ich bei der Benennung von Elementen einen Fall verwenden?
Gibt es empfohlene Richtlinien für die Benennung von Elementen in einer Datenbank?
Antworten:
Ich empfehle, die SQL Server-Beispieldatenbanken von Microsoft zu überprüfen: https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks
Das AdventureWorks-Beispiel verwendet eine sehr klare und konsistente Namenskonvention, die Schemanamen für die Organisation von Datenbankobjekten verwendet.
quelle
Späte Antwort hier, aber kurz:
Ausarbeitung:
(1) Was müssen Sie tun? Es gibt sehr wenige Dinge, die Sie jedes Mal auf eine bestimmte Weise tun müssen , aber es gibt einige.
(2) Was Sie wahrscheinlich tun sollten.
(3) Was Sie beachten sollten.
quelle
CustomerID
es sich um den Primärschlüssel aus derCustomer
Tabelle oder um einen Fremdschlüssel in einer anderen Tabelle handelt. Es ist ein kleines Problem. Warum sollten Sie schlechte Namen wie verwenden wollenc
?CustomerID = Customer.ID
ist sehr deutlich darin, dass Sie sehen, dass Sie einen Fremdschlüssel mit einem Primärschlüssel verbinden; es ist nicht redundant, da die beiden Seiten zwei verschiedene Dinge sind. Die Benennung einzelner Zeichen ist IMO eine schlechte Praxis.Ok, da wir mit der Meinung abwägen:
Ich glaube, dass Tabellennamen Plural sein sollten. Tabellen sind eine Sammlung (eine Tabelle) von Entitäten. Jede Zeile repräsentiert eine einzelne Entität, und die Tabelle repräsentiert die Sammlung. Also würde ich eine Tabelle mit Personenentitäten Personen (oder Personen, was auch immer Ihnen gefällt) nennen.
Für diejenigen, die einzelne "Entitätsnamen" in Abfragen sehen möchten, würde ich Tabellenaliasnamen verwenden für:
Ein bisschen wie LINQs "von Person in Personen wählen Person.Name".
Was 2, 3 und 4 betrifft, stimme ich @Lars zu.
quelle
Ich arbeite in einem Datenbank-Support-Team mit drei Datenbankadministratoren. Folgende Optionen werden in Betracht gezogen:
Wir verwenden singuläre Namen für Tabellen. Tabellen werden in der Regel der Name des Systems (oder dessen Akronym) vorangestellt. Dies ist nützlich, wenn der Systemkomplex, da Sie das Präfix ändern können, um die Tabellen logisch zu gruppieren (dh reg_customer, reg_booking und regadmin_limits).
Für Felder erwarten wir, dass Feldnamen das Präfix / Acryonm der Tabelle enthalten (dh cust_address1), und wir bevorzugen auch die Verwendung eines Standardsatzes von Suffixen (_id für die PK, _cd für "Code", _nm für "Name" ", _nb für" Nummer ", _dt für" Datum ").
Der Name des Foriegn-Schlüsselfelds sollte mit dem Primärschlüsselfeld übereinstimmen.
dh
Wenn Sie ein neues Projekt entwickeln, empfehlen wir Ihnen, alle bevorzugten Entitätsnamen, Präfixe und Akronyme aufzuschreiben und dieses Dokument Ihren Entwicklern zu geben. Wenn sie sich dann entscheiden, eine neue Tabelle zu erstellen, können sie sich auf das Dokument beziehen, anstatt zu "raten", wie die Tabelle und die Felder heißen sollen.
quelle
OK. Das sind meine $ 0,02
quelle
Ich bin auch für eine Namenskonvention im ISO / IEC 11179-Stil, da es sich eher um Richtlinien als um Vorschriften handelt.
Siehe Datenelementname auf Wikipedia :
"Tabellen sind Sammlungen von Entitäten und folgen den Richtlinien für die Benennung von Sammlungen. Im Idealfall wird ein Sammelname verwendet: z. B. Personal. Plural ist auch korrekt: Mitarbeiter. Zu den falschen Namen gehören: Mitarbeiter, tblEmployee und EmployeeTable."
Wie immer gibt es Ausnahmen von Regeln, z. B. eine Tabelle, die immer genau eine Zeile enthält, kann mit einem singulären Namen besser sein, z. B. eine Konfigurationstabelle. Und Konsistenz ist von größter Bedeutung: Überprüfen Sie, ob Ihr Einkauf eine Konvention hat, und befolgen Sie diese gegebenenfalls. Wenn es dir nicht gefällt, mache einen Business Case, um es ändern zu lassen, anstatt der einzige Ranger zu sein.
quelle
Ich höre die ganze Zeit das Argument, dass es eine Frage des persönlichen Geschmacks ist, ob ein Tisch pluralisiert ist oder nicht, und es gibt keine bewährten Verfahren. Ich glaube nicht, dass das stimmt, besonders als Programmierer im Gegensatz zu einem DBA. Soweit mir bekannt ist, gibt es keine legitimen Gründe, einen Tabellennamen zu pluralisieren, außer "Es macht für mich nur Sinn, weil es sich um eine Sammlung von Objekten handelt", während Code durch singuläre Tabellennamen legitime Vorteile bringt. Zum Beispiel:
Es vermeidet Fehler und Irrtümer, die durch Mehrdeutigkeiten im Plural verursacht werden. Programmierer sind nicht gerade für ihre Rechtschreibkenntnisse bekannt, und das Pluralisieren einiger Wörter ist verwirrend. Endet das Pluralwort beispielsweise mit 'es' oder nur mit 's'? Sind es Personen oder Personen? Wenn Sie mit großen Teams an einem Projekt arbeiten, kann dies zu einem Problem werden. Zum Beispiel eine Instanz, in der ein Teammitglied die falsche Methode verwendet, um eine von ihm erstellte Tabelle zu pluralisieren. Wenn ich mit dieser Tabelle interagiere, wird sie überall in Code verwendet, auf den ich keinen Zugriff habe oder dessen Behebung zu lange dauern würde. Das Ergebnis ist, dass ich daran denken muss, die Tabelle jedes Mal falsch zu buchstabieren, wenn ich sie benutze. Mir ist etwas sehr Ähnliches passiert. Je einfacher Sie es jedem Mitglied des Teams machen können, die exakten, einfachen und konsistenten Werte zu verwenden, Umso besser ist es, Tabellennamen ohne Fehler zu korrigieren oder ständig nach Tabellennamen suchen zu müssen. Die singuläre Version ist in einer Teamumgebung viel einfacher zu handhaben.
Wenn Sie die singuläre Version eines Tabellennamens verwenden UND dem Primärschlüssel den Tabellennamen voranstellen, haben Sie jetzt den Vorteil, dass Sie einen Tabellennamen einfach aus einem Primärschlüssel ermitteln können oder umgekehrt, nur über Code. Sie können eine Variable mit einem Tabellennamen erhalten, "Id" bis zum Ende verketten und haben jetzt den Primärschlüssel der Tabelle per Code, ohne eine zusätzliche Abfrage durchführen zu müssen. Oder Sie können "Id" am Ende eines Primärschlüssels abschneiden, um einen Tabellennamen per Code zu ermitteln. Wenn Sie "id" ohne Tabellennamen für den Primärschlüssel verwenden, können Sie den Tabellennamen nicht über Code aus dem Primärschlüssel ermitteln. Darüber hinaus verwenden die meisten Personen, die Tabellennamen pluralisieren und PK-Spalten den Tabellennamen voranstellen, die singuläre Version des Tabellennamens in der PK (z. B. statuses und status_id).
Wenn Sie Tabellennamen singulär machen, können Sie sie mit den Klassennamen übereinstimmen lassen, die sie darstellen. Dies kann wiederum den Code vereinfachen und es Ihnen ermöglichen, wirklich nette Dinge zu tun, z. B. eine Klasse zu instanziieren, indem Sie nur den Tabellennamen haben. Es macht auch nur Ihren Code konsistenter, was zu ...
Wenn Sie den Tabellennamen singulär machen, wird Ihr Namensschema an jedem Ort konsistent, organisiert und einfach zu pflegen. Sie wissen, dass in jeder Instanz Ihres Codes, ob in einem Spaltennamen, als Klassenname oder als Tabellenname, genau derselbe Name angegeben ist. Auf diese Weise können Sie globale Suchvorgänge durchführen, um zu sehen, wo immer Daten verwendet werden. Wenn Sie einen Tabellennamen pluralisieren, wird es Fälle geben, in denen Sie die singuläre Version dieses Tabellennamens verwenden (die Klasse, in die er im Primärschlüssel umgewandelt wird). Es ist nur sinnvoll, einige Fälle nicht zu haben, in denen Ihre Daten als Plural und einige als Singular bezeichnet werden.
Zusammenfassend lässt sich sagen, dass Sie beim Pluralisieren Ihrer Tabellennamen alle möglichen Vorteile verlieren, wenn Sie Ihren Code intelligenter und einfacher zu handhaben machen. Es kann sogar Fälle geben, in denen Sie Nachschlagetabellen / Arrays benötigen, um Ihre Tabellennamen in Objekt- oder lokale Codenamen zu konvertieren, die Sie hätten vermeiden können. Singuläre Tabellennamen bieten, obwohl sie sich anfangs vielleicht etwas seltsam anfühlen, erhebliche Vorteile gegenüber pluralisierten Namen, und ich glaube, sie sind bewährte Methoden.
quelle
unsere Präferenz:
Sollten Tabellennamen Plural sein?
Noch nie. Die Argumente dafür, dass es sich um eine Sammlung handelt, sind sinnvoll, aber Sie wissen nie, was die Tabelle enthalten wird (0,1 oder viele Elemente). Mehrere Regeln machen die Benennung unnötig kompliziert. 1 Haus, 2 Häuser, Maus gegen Mäuse, Person gegen Menschen, und wir haben uns noch nicht einmal eine andere Sprache angesehen.
Update person set property = 'value'
wirkt auf jede Person in der Tabelle.Select * from person where person.name = 'Greg'
Gibt eine Sammlung / ein Rowset von Personenzeilen zurück.Sollten Spaltennamen singulär sein?
Normalerweise ja, außer wenn Sie gegen Normalisierungsregeln verstoßen.
Soll ich Tabellen oder Spalten voranstellen?
Meistens eine Plattformpräferenz. Wir bevorzugen es, Spalten den Tabellennamen voranzustellen. Wir stellen keine Präfixtabellen vor, aber wir machen Präfixansichten (v_) und gespeicherte_Verfahren (sp_ oder f_ (Funktion)). Das hilft Leuten, die versuchen möchten, v_person.age zu aktualisieren, was eigentlich ein berechnetes Feld in einer Ansicht ist (das sowieso nicht UPDATEd sein kann).
Dies ist auch eine gute Möglichkeit, um eine Keyword-Kollision zu vermeiden (Delivery.from Pausen, Delivery_from jedoch nicht).
Der Code wird dadurch ausführlicher, die Lesbarkeit wird jedoch häufig verbessert.
bob = new person()
bob.person_name = 'Bob'
bob.person_dob = '1958-12-21'
... ist sehr lesbar und explizit. Dies kann jedoch außer Kontrolle geraten:
customer.customer_customer_type_id
Gibt eine Beziehung zwischen dem Kunden und der Tabelle customer_type an, gibt den Primärschlüssel in der Tabelle customer_type (customer_type_id) an. Wenn beim Debuggen einer Abfrage jemals 'customer_customer_type_id' angezeigt wird, wissen Sie sofort, woher diese stammt (Kundentabelle).
oder wenn Sie eine MM-Beziehung zwischen customer_type und customer_category haben (für bestimmte Kategorien stehen nur bestimmte Typen zur Verfügung)
customer_category_customer_type_id
... ist ein wenig (!) auf der langen Seite.
Sollte ich bei der Benennung von Elementen einen Fall verwenden? Ja - Kleinbuchstaben :), mit Unterstrichen. Diese sind sehr gut lesbar und plattformübergreifend. Zusammen mit 3 oben macht es auch Sinn.
Die meisten davon sind jedoch Vorlieben. - Solange Sie konsistent sind, sollte es für jeden vorhersehbar sein, der es lesen muss.
quelle
SELECT * FROM people AS person WHERE person.name = 'Greg'
klingt für mich am natürlichsten.<table name><id>
beispielsweisePersonID
oderPerson_ID
usw. Daher ist es sinnvoller, dass Sie Ihre Tabellen NICHT im Plural benennen, da jeder Datensatz eine separate Person und keine Personen ist.Werfen Sie einen Blick auf ISO 11179-5: Benennungs- und Identifikationsprinzipien. Sie erhalten es hier: http://metadata-standards.org/11179/#11179-5
Ich habe vor einiger Zeit hier darüber gebloggt : ISO-11179-Namenskonventionen
quelle
Ich weiß, dass dies zu spät zum Spiel kommt, und die Frage wurde bereits sehr gut beantwortet, aber ich möchte meine Meinung zu # 3 bezüglich des Präfixes von Spaltennamen abgeben.
Alle Spalten sollten mit einem Präfix benannt werden, das für die Tabelle, in der sie definiert sind, eindeutig ist.
Beispiel: Bei den angegebenen Tabellen "Kunde" und "Adresse" verwenden wir die Präfixe "cust" bzw. "addr". "customer" würde "cust_id", "cust_name" usw. enthalten. "address" würde "addr_id", "addr_cust_id" (FK zurück zum Kunden), "addr_street" usw. enthalten.
Als mir dieser Standard zum ersten Mal vorgestellt wurde, war ich absolut dagegen. Ich hasste die Idee. Ich konnte die Idee dieser zusätzlichen Eingabe und Redundanz nicht ertragen. Jetzt habe ich genug Erfahrung damit, dass ich nie mehr zurückkehren würde.
Das Ergebnis ist, dass alle Spalten in Ihrem Datenbankschema eindeutig sind. Dies hat einen großen Vorteil, der alle Argumente dagegen übertrifft (meiner Meinung nach natürlich):
Sie können Ihre gesamte Codebasis durchsuchen und zuverlässig jede Codezeile finden, die eine bestimmte Spalte berührt.
Der Nutzen von # 1 ist unglaublich groß. Ich kann eine Spalte veralten und weiß genau, welche Dateien aktualisiert werden müssen, bevor die Spalte sicher aus dem Schema entfernt werden kann. Ich kann die Bedeutung einer Spalte ändern und weiß genau, welcher Code überarbeitet werden muss. Oder ich kann einfach feststellen, ob Daten aus einer Spalte überhaupt in einem bestimmten Teil des Systems verwendet werden. Ich kann nicht zählen, wie oft dies aus einem potenziell großen Projekt ein einfaches gemacht hat oder wie viele Stunden wir in der Entwicklungsarbeit gespart haben.
Ein weiterer, relativ geringer Vorteil ist, dass Sie nur Tabellen-Aliase verwenden müssen, wenn Sie einen Self-Join durchführen:
quelle
reliably find every line of code that touches a particular column
... Ist das nicht der Punkt?Meine Meinungen dazu sind:
1) Nein, Tabellennamen sollten singulär sein.
Während es für die einfache Auswahl (
select * from Orders
) sinnvoll erscheint, ist es für das OO-Äquivalent (Orders x = new Orders
) weniger sinnvoll .Eine Tabelle in einer Datenbank ist wirklich die Menge dieser Entität. Wenn Sie die Mengenlogik verwenden, ist dies sinnvoller:
Diese letzte Zeile, die eigentliche Logik des Joins, sieht mit mehreren Tabellennamen verwirrend aus.
Ich bin mir nicht sicher, ob ich immer einen Alias verwenden soll (wie Matt vorschlägt), um das zu klären.
2) Sie sollten singulär sein, da sie nur 1 Eigenschaft besitzen
3) Niemals, wenn der Spaltenname mehrdeutig ist (wie oben, wo beide eine Spalte namens [Schlüssel] haben), kann der Name der Tabelle (oder ihr Alias) sie gut genug unterscheiden. Sie möchten, dass Abfragen schnell und einfach eingegeben werden können - Präfixe sorgen für unnötige Komplexität.
4) Was auch immer Sie wollen, ich würde CapitalCase vorschlagen
Ich glaube nicht, dass es eine absolute Richtlinie zu diesen gibt.
Solange alles, was Sie auswählen, in der gesamten Anwendung oder Datenbank konsistent ist, denke ich nicht, dass es wirklich wichtig ist.
quelle
CapitalCase
?pascal case
Product.ProductName
,Product.ProductID
,Product.ProductPrice
etc TypisierungProduct.P
gibt Ihnen alle voran Felder aus .Meiner Meinung nach:
Wie bereits erwähnt, ist jede Konvention besser als keine Konvention. Unabhängig davon, wie Sie sich dafür entscheiden, dokumentieren Sie es so, dass zukünftige Änderungen denselben Konventionen folgen.
quelle
Ich denke, die beste Antwort auf jede dieser Fragen würden Sie und Ihr Team geben. Es ist weitaus wichtiger, eine Namenskonvention zu haben, als wie genau die Namenskonvention ist.
Da es keine richtige Antwort darauf gibt, sollten Sie sich etwas Zeit nehmen (aber nicht zu viel) und Ihre eigenen Konventionen wählen und - hier ist der wichtige Teil - daran festhalten.
Natürlich ist es gut, Informationen über Standards zu diesem Thema einzuholen, was Sie fragen, aber machen Sie sich keine Sorgen über die Anzahl der verschiedenen Antworten, die Sie möglicherweise erhalten: Wählen Sie diejenige, die für Sie besser erscheint.
Nur für den Fall, hier sind meine Antworten:
quelle
quelle
SELECT id,name FROM contacts WHERE email_address LIKE '%gmail%'
Tabellen Plural, Spalten Singular. Wieder immer eine Frage der persönlichen Meinung.Mithilfe von Namenskonventionen kann das Entwicklungsteam die Auffindbarkeit und Wartbarkeit im Mittelpunkt des Projekts gestalten.
Eine gute Namenskonvention braucht Zeit, um sich zu entwickeln, aber sobald sie vorhanden ist, kann das Team mit einer gemeinsamen Sprache vorankommen. Eine gute Namenskonvention wächst organisch mit dem Projekt. Eine gute Namenskonvention kann Änderungen in der längsten und wichtigsten Phase des Software-Lebenszyklus - dem Service-Management in der Produktion - problemlos bewältigen.
Hier sind meine Antworten:
Das Benennen ist schwierig, aber in jeder Organisation gibt es jemanden, der Dinge benennen kann, und in jedem Softwareteam sollte es jemanden geben, der die Verantwortung für Benennungsstandards übernimmt und sicherstellt, dass Benennungsprobleme wie sec_id , sec_value und security_id frühzeitig gelöst werden, bevor sie in das Projekt integriert werden .
Was sind die Grundprinzipien einer guten Namenskonvention und guter Standards:
quelle
Hier ist ein Link, der einige Auswahlmöglichkeiten bietet. Ich suchte nach einer einfachen Spezifikation, der ich folgen konnte, anstatt mich auf eine teilweise definierte verlassen zu müssen.
http://justinsomnia.org/writings/naming_conventions.html
quelle
quelle
Lastname
sollte seinLastName
Tabellennamen sollten immer singulär sein, da sie eine Reihe von Objekten darstellen. Wie Sie sagen, bezeichnet Herde eine Gruppe von Schafen oder Herde eine Gruppe von Vögeln. Keine Notwendigkeit für Plural. Wenn ein Tabellenname aus zwei Namen besteht und die Namenskonvention im Plural ist, wird es schwierig zu wissen, ob der Pluralname das erste Wort oder das zweite Wort oder beides sein sollte. Es ist die Logik - Object.instance, nicht objects.instance. Oder TableName.column, nicht TableNames.column (s). Microsoft SQL unterscheidet nicht zwischen Groß- und Kleinschreibung. Wenn Großbuchstaben verwendet werden, ist es einfacher, Tabellennamen zu lesen, um Tabellen- oder Spaltennamen zu trennen, wenn sie aus zwei oder mehr Namen bestehen.
quelle
User
ist keine Benutzergruppe.Tabellenname: Es sollte singulär sein, da es sich um eine singuläre Entität handelt, die ein Objekt der realen Welt darstellt, und keine Objekte, die singulär sind.
Spaltenname: Es sollte nur dann singulär sein, wenn es einen atomaren Wert enthält und die Normalisierungstheorie bestätigt. Wenn es jedoch n gleiche Eigenschaften gibt, sollten diese mit 1, 2, ..., n usw. versehen werden.
Präfixe Tabellen / Spalten: Es ist ein großes Thema, das später besprochen wird.
Gehäuse: Es sollte Kamel Fall sein
Mein Freund Patrick Karcher , ich bitte Sie, nichts zu schreiben, was jemanden beleidigen könnte, wie Sie geschrieben haben: "• Außerdem müssen Fremdschlüssel in verschiedenen Tabellen konsistent benannt werden. Es sollte legal sein, jemanden zu verprügeln, der dies nicht tut." mach das.". Ich habe diesen Fehler noch nie gemacht, mein Freund Patrick, aber ich schreibe allgemein. Was ist, wenn sie gemeinsam vorhaben, dich dafür zu schlagen? :) :)
quelle
Sehr spät zur Party, aber ich wollte immer noch meine zwei Cent über Spaltenpräfixe hinzufügen
Es scheint zwei Hauptargumente für die Verwendung des Namensstandards table_column (oder tableColumn) für Spalten zu geben, die beide auf der Tatsache beruhen, dass der Spaltenname selbst in Ihrer gesamten Datenbank eindeutig ist:
1) Sie müssen in Ihren Abfragen nicht immer Tabellennamen und / oder Spaltenaliasnamen angeben
2) Sie können ganz einfach Ihren gesamten Code nach dem Spaltennamen durchsuchen
Ich denke, beide Argumente sind fehlerhaft. Die Lösung für beide Probleme ohne Verwendung von Präfixen ist einfach. Hier ist mein Vorschlag:
Verwenden Sie immer den Tabellennamen in Ihrem SQL. Verwenden Sie beispielsweise immer table.column anstelle von column.
Es löst offensichtlich 2), da Sie jetzt einfach nach table.column anstelle von table_column suchen können.
Aber ich kann dich schreien hören, wie löst es 1)? Es ging genau darum, dies zu vermeiden. Ja, aber die Lösung war schrecklich fehlerhaft. Warum? Nun, die
Präfixlösung läuft auf Folgendes hinaus : Um zu vermeiden, dass bei Mehrdeutigkeiten table.column angegeben werden muss, benennen Sie alle Ihre Spalten table_column!
Dies bedeutet jedoch, dass Sie von nun an IMMER jedes Mal, wenn Sie eine Spalte angeben, den Spaltennamen schreiben müssen. Aber wenn Sie das trotzdem tun müssen, was ist der Vorteil, wenn Sie table.column immer explizit schreiben? Genau, es gibt keinen Vorteil, es ist genau die gleiche Anzahl von Zeichen, die eingegeben werden müssen.
edit: ja, mir ist bewusst, dass das Benennen der Spalten mit dem Präfix die korrekte Verwendung erzwingt, während mein Ansatz von den Programmierern abhängt
quelle
Grundlegende Konventionen (und Stil) für die Benennung von Datenbanken (klicken Sie hier, um eine detailliertere Beschreibung zu erhalten)
Tabellennamen wählen kurze, eindeutige Namen, wobei nicht mehr als ein oder zwei Wörter verwendet werden. Die Unterscheidung von Tabellen erleichtert die Benennung eindeutiger Feldnamen. Das Nachschlagen und Verknüpfen von Tabellen gibt Tabellen singuläre Namen, niemals Plural (Update: Ich stimme den angegebenen Gründen immer noch zu für diese Konvention, aber die meisten Leute mögen Plural-Tabellennamen wirklich, also habe ich meine Haltung aufgeweicht) ... folge bitte dem obigen Link
quelle
e.g. PATIENTS would have a primary key called pa_patient_id_pk
!!Tabellennamen Singular. Angenommen, Sie haben eine Beziehung zwischen jemandem und seiner Adresse modelliert. Wenn Sie beispielsweise ein Datenmodell lesen, möchten Sie lieber, dass jede Person unter 0,1 oder vielen Adressen lebt. oder 'jedes Volk kann an 0,1 oder vielen Adressen wohnen.' Ich denke, es ist einfacher, Adressen zu pluralisieren, als Menschen als Person umformulieren zu müssen. Außerdem unterscheiden sich Sammelbegriffe häufig von der Singularversion.
quelle
Dies sind die Konventionen, die mir beigebracht wurden, aber Sie sollten sich an alle Verwendungszwecke anpassen, die Ihr Entwicklungsschlauch verwendet.
quelle