AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Keine Dubletten in Spalten
Thema durchsuchen
Ansicht
Themen-Optionen

Keine Dubletten in Spalten

Ein Thema von Puddi · begonnen am 9. Okt 2005 · letzter Beitrag vom 9. Okt 2005
Antwort Antwort
Benutzerbild von Puddi
Puddi

Registriert seit: 25. Sep 2005
20 Beiträge
 
Delphi 2005 Architect
 
#1

Keine Dubletten in Spalten

  Alt 9. Okt 2005, 00:36
Datenbank: Paradox • Zugriff über: ODBC?
Ahoi!

Ich habe gerade erst damit angefangen, mich in SQL einzuarbeiten. Ich bitte daher um Verständnis für die folgende blöde Frage.

Ich habe eine Verbdatenbank mit Namen "Temp" mit vier Spalten:

|Lemma|Context|Source|Speaker|
____________________________
|_____|_______|______|_______|
|_____|_______|______|_______|


In dieser Datenbank sind häufig doppelte Datensätze (d.h. Datensätze mit komplett gleichen Werten in allen Spalten) zu finden. Diese konnte ich bereits mit

SELECT DISTINCT UPPER(Lemma),Context,Source,Speaker FROM Temp erfolgreich beseitigen.

Soweit so gut. In meiner Datenbank gibt es nun aber immer noch einige Datensätze, bei denen sich manche Werte in der Spalte "Lemma" gleichen. Die anderen Spalten weisen jedoch unterschiedliche Werte auf, z.B.

|Lemma|Context |Source|Speaker|
_____________________________
|gehen |X______|Y_____|Z______|
|gehen |1______|2_____|3______|
|gehen |A______|B_____|C______|
|laufen|f_______|e_____|f_______|
|essen |j_______|k_____|h______|

Wie kann ich den SQL-Befehl abändern, dass am Ende neben den anderen Verben nur noch eines der drei Verben "gehen" (welches ist egal) mit den dazugehörigen Werten für "B", "C" und "D" übrig bleibt? Jedes Lemma soll also maximal einmal in dieser Spalte vorkommen.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Keine Dubletten in Spalten

  Alt 9. Okt 2005, 08:27
Hallo Puddi,

hast du einen Hintergrund in Computer-Linguistik oder bist du einfach nur sprachinteressiert? In jedem Fall solltest du dir ein SQL Tutorial durchlesen. Speziell die Normalisierung von Relationen ist für dich wichtig um dein jetziges Problem zu lösen. Die Google-Suchworte Tutorial und Normalisierung sollten dir eine Reihe von Treffern bringen.

Der Erfolg wird sein, dass du deine Tabelle aufteilen wirst. Eine Tabelle wird LEMMATA heißen und die Attribute ID und LEMMA besitzen. Die andere wird IRGENDWIE heißen und die Attribute CONTEXT, SPEAKER un SOURCE aufnehmen. Dazu kommen noch ein Primärschlüssel ID und ein Fremdschlüssel LEMMATA_ID, der auf das richtige Tupel in der Tabelle LEMMATA verweist. Die Primärschlüssel kannst du mit dem Feldtyp AUTOINC definieren.

Wenn du in deinem Beitrag Semigraphik unterbringen möchtest, dann sind die tags [.pre] und [./pre] ganz hilfreich - die Punkte musst du natürlich weglassen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Puddi
Puddi

Registriert seit: 25. Sep 2005
20 Beiträge
 
Delphi 2005 Architect
 
#3

Re: Keine Dubletten in Spalten

  Alt 9. Okt 2005, 09:58
Ach herrje, da kommt ja noch lecker Arbeit auf mich zu. Hatte gehofft, das liesse sich einfacher lösen . Dann werd ich mir Deinen Rat mal zu Herzen nehmen und mich zum Thema Normalisierung informieren.

P.S. Ich studiere Linguistik . Hab aber zu Computerlinguistik bisher noch nicht allzuviel gemacht (nur mal versuchsweise etwas PROLOG programmiert - macht aber nicht soviel Spaß wie Delphi ). Das Programm entsteht im Rahmen eines Forschungsprojektes zu irischen Verben. Es soll später mal dazu in der Lage sein, automatisch alle Verben innerhalb von Textkorpora des Irischen zu identifizieren.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz