Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

hi,

ich hab ein kleineres problem ..ich hatte mir vor genommen eine testdatenbank in die redudanzfreie 3 Normalform zu überführen ..

aber jetzt merkte ich das ich in der spalte strasse auch die hausnummer drin stehen habe,..

jetzt komm ich bei der dementsprechenden anfügeabfrage nicht weiter ..denn ich möchte jetzt in einer neuen tabelle mit 2 spalten so das aus z.B "Ringstrasse 22" das Ringstrasse in die Spalte Strasse und das 22 in die Spalte Hausnummer wird ..

wie lautet der dementsprechende SQL befehl `? TRim ?

bin für jeden Tip dankbar ..

Hi,

man kann es auch mit der Normalisierung übertreiben.

Was bezweckst du damit?

Zur Frage: Welche Datenbank?

Gruß Jaraz

Das wirst du nicht schaffen.

Du kannst z.B.

Ringstrasse 22

Ringstrasse 22a

Ringstrasse 22 a

Ringstrasse 22/1

Ringstrasse 22 / 1

geschrieben haben.

und die Varianten mit

Ring Strasse ...

funktionieren auch

Mir würde keine Automatisierte Funktion einfallen die das wieder auseinanderbastelt.

Hallo,

kannst du wirklich garantieren, dass zwischen Straße und Hausnummer ein eindeutiger Trenner steht, der an keiner anderen Stelle des Datenfeldes auftaucht? Oder aber ist die Hausnummer wirklich immer die letzten zwei Stellen?

Nur wenn eine dieser zwei Bedingungen zutreffen kann man das ganze automatisieren, sonst läuft es auf Handarbeit hinaus.

Wenn du dann noch das DBMS mitteilst, fällt jemandem hier vielleicht sogar eine existierende Funktion ein.

Gruß

Nils

also ich hab das ganze mit access erstellt ..und dachte eigentlich das ich alles was hinter dem "leerzeichen" kommt automatisch an eine weitere spalte einfüge ...

aber ich seh schon .das wird was grösseres ...

gruss

toby

aus neu ulm kommt du ...ja so ein zufall ..ich komm aus ulm ..

na dann mal von landsmann zu landsmann ....

ich habe meine daten überprüft und in diesem speziellen fall hab ich nur leerzeichen unmittelbar hinter dem strassenname ..also Ringstrasse 22 ..

aber ich versteh deinen einwand ...falls es anders wäre müsste man wohl einzelne cases einsetzen ...

also wen du garantieren kannst, das du keine leerzeichen innerhalb des strassennamen hast, dann wird hier bestimm tjemanden geben der dir hilft.

ihc bin grad im wochenende und mag nicht denken *grins*

ne ich komm einfach grad nicht drauf.

Frage ist also

1 Feld

Trennen nach dem ersten Leerzeichen

1. Teil in Feld 2

2. Teil in feld 3

das ganze unter:

Access

exakt demento

Rechne Dir mal den genutzten Speicherplatz Deines gewuenschten Datenmodells aus und vergleiche mal das Ergebnis mit dem ohne zusaetzlicher Trennung von Strassenname und Hausnummer.

Stelle auch mal testweise ein paar Abfragen auf Dein gewuenschtes Datenmodell und ein weiteres Mal ohne zusaetzliche Trennung zusammen.

Du wirst sehen, dass die Abfragen bei Deinem gewuenschten Modell komplexer und damit langsamer werden.

Ein Datenmodell ist nie vollstaendig redundanzfrei.

Sie sind nur da verringert, wo es auch sinnvoll ist.

Welchen Zweck soll diese Trennung erfuellen?

ich habe meine daten überprüft und in diesem speziellen fall hab ich nur leerzeichen unmittelbar hinter dem strassenname ..also Ringstrasse 22 ..

aber ich versteh deinen einwand ...falls es anders wäre müsste man wohl einzelne cases einsetzen ...

dein datenmodell ist idealisiert, du nimmst an, dass hinter jedem straßennamen eine nummer kommt. und vermutlich gehst du auch immer davon aus, dass eingaben immer korrekt erfolgen, also hausnummer, stiege und tür immer mit / (schrägstrich) ohne umgebenede leerzeichen eingegeben werden/wurden. was machst du mit strassennamen wie

- Straße des Ersten Mai

- Straße der Menschenrechte

- Alte Straße

du müsstest hier jeweils das letzte leerzeichen suchen, und erst dort trennen. ich würde auf die trennung verzichten und strasse sowie nummer zusammen belassen.

s'Amstel

zumal grundsätzlich gilt, Wiederholung von Zahlen ist kein Verstoß gegen die Redundanz in der DB....

Wir haben das Thema bei uns auch mal durchdiskutiert haben aber entgültig aufgegeben, als wir festgestellt haben, das es in Deutschland auch Orte gibt die ihre Straßen einfach durchnummeriert haben (so aller New York). Und nach unseren berechnungen fallen von unseren 500.000 Adresskundendaten ca. 10.000 durch jedes sinnvolle Schema und müssten händisch migriert werden...

Hi, mme!

Ihr habt zwar "aufgegeben", ein Lösungsansatz soll hier aber dennoch kommen.

Zuerst einmal:

Ohne VBA läuft hier imho gar nichts.

Bsp.: strStrasse = "Weg 3a - 3f"

Es ist eine Funktion zu entwickeln, die von rechts zeichenweise untersucht, ob eine Ziffer vorliegt (Im ASCII-Zeichensatz: 48 bis 57) und sich in einer Variablen (lngTrennenNach) die niedrigste Positions-Nummer merkt, nachdem sie mit der Gesamtlänge initialisiert worden ist für den Fall, daß keine Hausnummer vorliegt.

Dann hast Du die Stelle, an der die Hausnummer beginnt und kannst "links davon" die Straße extrahieren.

Soweit die Theorie.

Die Praxis liefert Straßen die gem. dieser Funktion nur aus der Hausnummer bestehen. (1st Avenue)

Wenn eine "echte" 3.NF angestrebt werden soll, müßte die "Str.+Nr." in fünf Felder aufgeteilt werden:

Strasse

HausnummerVon

HausnummerVonZusatz

HausnummerBis

HausnummerBisZusatz

Und spätestens dann fängt es wirklich an, "lustig" zu werden...

Die Entscheidung, diese Daten nicht aufzuteilen, war bestimmt nicht die schlechteste.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.