Die Mathe-Redaktion - 21.07.2019 17:52 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte / Top 15
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
Listenpunkt? im neuen Schwätz
ListenpunktWerde Mathe-Millionär!
ListenpunktAnmeldung MPCT Sept.
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 514 Gäste und 11 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von matroid
Informatik » Datenbanken » Datenbankabfrage
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule Datenbankabfrage
Kataaaa
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 25.05.2019
Mitteilungen: 24
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2019-06-18


ich habe die folgende Datenbank gegeben

Student($\underline{\text{MatNo}}$, SName)

Course($\underline{\text{CNo}}$, CName)

Took($\underline{\text{CNo -> Course, MatNo -> Student}}$, Score)

(das unterstrichene sind die Schlüssel)

Weiter habe ich die relationale Abfragen gegeben

a) γ count(∗)→cnt ( π CNo (Course))

b) γ count(∗)→cnt ( π CNo,CName (Course))

Meine Frage wäre nun ob die beiden äquivalent sind wenn wir einmal Mengen und einmal Multimengen zulassen?

Bei Multimengen würde ich sagen ist eine Äquivalents vorhanden, aber bei reinen Mengen eher nicht. Ich habe diesen Sachverhalt einmal getestet und bei Mengen mit ab und zu gleichen Werten kommen unterschiedliche Sachen raus. Könnte mir Jemand dies hier etwas näher erläutern? Ich lerne gerade im Selbststudium etwas über Datenbanken und bei manchen Abfragen komme ich einfach nicht dahinter.



  Profil  Quote  Link auf diesen Beitrag Link
hgseib
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 04.04.2019
Mitteilungen: 120
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2019-06-18


Hallo

Da keine Einschränkungen vorliegen:
- jeder Student kann an jedem Kurs teilnehmen
- in jedem Kurs kann jeder Student teilnehmen

Ein ähnliches Beispiel wäre:
- jede Person kann in jedem Geschäft eine Bestellung aufgeben
- jedes Geschäft kann an jede Person eine Rechnung stellen

Der Unterschied ist:
- ein Student kann nicht mehrmals am selben Kurs teilnehmen
- in einem Kurs kann der selbe Student nicht mehrmals sein
gegenüber
- jede Person kann mehrere Bestellungen in einem Geschäft aufgeben
- jedes Geschäft kann mehrere Rechnungen an eine Person offen haben

hilft das?
mfg



  Profil  Quote  Link auf diesen Beitrag Link
Kataaaa
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 25.05.2019
Mitteilungen: 24
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2019-06-18


Hallo hgseib,
wenn ich das richtig verstehe sind beide für Multimengen nicht äquivalent aber für Mengen schon?




  Profil  Quote  Link auf diesen Beitrag Link
Kataaaa
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 25.05.2019
Mitteilungen: 24
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, vom Themenstarter, eingetragen 2019-06-18


Ach nein, dass macht auch keinen Sinn.

Also wir projizieren die tupel einmal mit dem Schlüssel CNo und einmal mit Cno, CName, dann gruppieren wir all diese Tupel und speichern die Summe der Tupel auf cnt.


Nur was passiert denn wenn ich zwei Schlüssel habe anstatt einem. Ein Schlüsselelement dort doch dafür, dass man keine Doppelten Einträge hat.

Achso, also sind sie weder für Mengen noch für Multimengen äquivalent?

Das könnte sein, daran habe ich noch garnicht gedacht



  Profil  Quote  Link auf diesen Beitrag Link
hgseib
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 04.04.2019
Mitteilungen: 120
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, eingetragen 2019-06-18


MatNo ist ein eindeutiger Schlüssel für einen Studenten.
CNo ist ein eindeutiger Schlüssel für einen Kurs.

Bei Took bin ich mir nicht sicher. Was immer 'Score' ist, es könnte diesen Datensatz ungleich machen?

Wie füllst du deine Datenbank?
Hast du ein Programm geschrieben, das zufällige Kombinationen erzeugt?
Überprüfst du dabei, ob ein Student einen Kurs bereits belegt hat?

Was passiert, wenn du Probeweise eine Kombination zwei mal eingibst?
Ist es sicher, dass das abgelehnt wird?

Programmieren hat nichts mit Logik zu tun ;-)



  Profil  Quote  Link auf diesen Beitrag Link
Kataaaa
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 25.05.2019
Mitteilungen: 24
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, vom Themenstarter, eingetragen 2019-06-18


Hallo,
also mein Programm war auch falsch, vergessen wir das.


Ich weiß nun aber tatsächlich überhaupt nicht weiter. Kannst du mir die Lösung sagen, es ist wie gesagt kein Hausaufgabe, sondern nur für mich. Ich würde es nur gerne wissen.


Score ist ein Attribut von Took und Took scheint eine Relationship zu sein.
Da Took beide Schlüssel inne hat, gehe ich von eine n zu m Beziehung aus.



Es wäre wirklich sehr sehr nett, wenn du mir die Lösung verraten könntest ist sitze schon seid 3 Tagen an dieser Aufgabe u d diese Forum war die letzte Möglichkeit



  Profil  Quote  Link auf diesen Beitrag Link
Kataaaa
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 25.05.2019
Mitteilungen: 24
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2019-06-18


Ich habe es gerade noch einmal versucht theoretisch zu lösen, kann es sein das  dies hier eine Trickfrage ist? Und tatsächlich keine Äquivalenz vorliegt?



  Profil  Quote  Link auf diesen Beitrag Link
Folgende Antworten hat der Fragesteller vermutlich noch nicht gesehen.
hgseib
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 04.04.2019
Mitteilungen: 120
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, eingetragen 2019-06-18


Ein 'nein' oder 'ja' bringt dich ja auch nicht weiter.

Wenn Mengen und Multimengen gleich wären, dann bräucht man sie nicht zu unterscheiden. Also grundsätzlich könnne sie nicht gleich sein.
Das schliesst nicht aus, das es Situationen geben kann, in denen die Mengen gleich sind.

Was willst du letztendes erreichen? Das kann ja nicht an der Beantwortung scheitern, ob unterschiedliche Zählweisen ein gleiches Ergebnis liefern.

Alles was einem neu ist glaubt man anfangs nie verstehen zu können. Schmeiss weg und mache es neu. Das wird automatisch von mal zu mal besser und verständlicher.


Du hast als Lernbeispiel ein Buchungssystem gewählt - gut.

a)
- erstelle eine Maske um Kurse zu editieren
- erstelle eine Tabelle um die Kurse zu listen
- erstelle eine Maske um Studenten zu editieren
- erstelle eine Tabelle um die Studenten zu listen
Teilerfolge machen einen sicherer.

b)
- für die Masken die Funktionen Neu, Ändern, Löschen (das Löschen nur als Programmierhilfe, zum Experimentieren. Richtiges Löschen verursacht gewaltige Folgeprobleme) ergänzen.
- für die Tabellen die Funktionen: sortieren, suchen ergänzen
das sind elementare Funktionen um die Daten überhaupt nutzen zu können.

c)
- jetzt ergänzen, das Studenten Kurse buchen können.
- dazu Dialoge, dazu eine Liste der Kurse des Studenten
- dazu eine Liste für die einzelnen Kurse, wieviel Teilnehmer angemeldet sind

Du wirst sehen, das erstellt sich fast von alleine ;-)
Wenn du das richtig und funktionierend erstellt hast und mit wenig überschaubaren Daten testest. Dann werden viele deiner Fragen schon garkeine Fragen mehr sein.
Einfach machen, das geht. Theoretisch kann man fliegen, die Praxis lehr einem die Wahrheit.



  Profil  Quote  Link auf diesen Beitrag Link
Susanneeee
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 27.05.2019
Mitteilungen: 43
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, eingetragen 2019-06-18


Hallöchen hgseib,
ich hoffe ich darf mich einmal in diese Diskussion einmischen, denn ich habe so eine ähnliche Aufgabe, wahrscheinlich nutzt der TE dasselbe Buch wie ich?


Jedenfalls bin ich relativ fit in SQL aber dieses Problem hier könnte ich gerade auch nicht lösen. Könntest du mir erklären, wie man mit dem Buchungssystem an die Lösung dieser Aufgabe kommt? Wo ist der Zusammenhang?

Ich wäre dir sehr dankbar, wenn du dieses Rätsel der Aufgabe einmal lösen würdest ich habe nämlich auch keine Ahnung nach studentlangen testen in verschiedenen Programmen.

Hier einmal in relationaler Algebra.


Ein Beispiel:

Wir haben die Datenbank

group:Übung

person = {
person_id:number, name:string    
0001             , 'Lisa'                          
0002             , 'Tom'                        
}

=> γ count(∗)→cnt ( π CNo (Course))  ==> cnt = 2

=> γ count(∗)→cnt ( π CNo,CName (Course))   ==> cnt = 2


slebiges gilt für

group:Übung

person = {
person_id:number, name:string    
0001             , 'Lisa'                          
0002             , 'Lisa'                        
}

=> γ count(∗)→cnt ( π CNo (Course))  ==> cnt = 2

=> γ count(∗)→cnt ( π CNo,CName (Course))   ==> cnt = 2


oder auch

group:Übung

person = {
person_id:number, name:string    
0001             , 'Lisa'                          
0001             , 'Peter'                        
}

=> γ count(∗)→cnt ( π CNo (Course))  ==> cnt = 2

=> γ count(∗)→cnt ( π CNo,CName (Course))   ==> cnt = 2


Aber

group:Übung

person = {
person_id:number, name:string    
0001             , 'Lisa'                          
0001             , 'Lisa'                        
}

=> γ count(∗)→cnt ( π CNo (Course))  ==> cnt = 1

=> γ count(∗)→cnt ( π CNo,CName (Course))   ==> cnt = 2

Kann das denn überhaupt stimmen?

Ich wäre dir wirklich wirklich Dankbar, wenn du mir erklären würdest warum hier Multimengen nicht Äquivalent sind und ob es überhaupt stimmt. Oder ich wäre auch über eine Seite dankbar, wo man einfach solche Fragen mal zur Überprüfung stellen kann, denn die Lösung dieser Aufgabe ist mir wichtig



  Profil  Quote  Link auf diesen Beitrag Link
hgseib
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 04.04.2019
Mitteilungen: 120
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, eingetragen 2019-06-19


Hallo

obwohl ich auch etliche Jahre lang geschult hatte, so zähle ich mich doch eher zu den Praktikern. Als solcher habe ich Jahrzehnte lang für unterschiedlichste Firmen programmiert. Das schreibe ich als Entschuldigung, weil ich keine theoretische Antwort gebe, sondern das praktische Vorgehen beschreibe.

Da wir uns nicht kennen, die Frage: Kennt ihr 'Testgetriebenes Programmieren'?
Man will eine Funktion erstellen (z.B. zwei Zahlen addieren). dann wird vorerst ein Dummy der Funktion erstellt und eine Testfunktion (für alle Programmierumgebungen gibt es auch Testumgebungen).
Die Testfunktion ruft die Originalfunktion auf. Mit fest definierten Daten wird ein ganz bestimmtes Ergebnis erwartet. Wird das nicht zurückgegeben, dann zeigt die Testumgebung das Fehlverhalten an.
Das ist erstmal extrem aufwendig und teuer. Aber ohne Testumgebung wird jedes Programmiervorhaben im Kaos enden! Es wird ständig von mehreren Personen geändert, geupdatet, neu hinzugefügt und gelöscht. Nur eine sorgfältig geführte Testumgebung kann garantieren, das alles was bisher funktioniert hat auch nachher noch korrekt arbeitet. Das macht den Mehraufwand mehr als wett.

Zur gestellten Frage:
Zu bestimmten Testdaten (die natürlich korrekt sein müssen) soll eine Funktion ein ganz bestimmtes Ergebnis liefern.
IHR müsst wissen, was die Funktion liefern soll, was IHR als richtig erwartet.
Schlägt der Test fehl, dann ist die Funktion falsch (die Testdaten müssen korrekt sein).

Zu den von Susanneeee vorgegebenen Mustern:
Zwei gleiche ID's für unterschiedliche Datensätze kann es grundsätzlich nicht geben.
Hier ist es egal was gezählt wird -> es ist einfach nur Käse ;-)
Hier müsste schon ein 'früherer' Test fehlgeschlagen sein.

Beim letzten Beispiel gibt es in der 'Kreuztabelle'*** zweimal den gleichen Eintrag.
Ob das richtig oder falsch ist kommt darauf an, was programmiert werden soll.
Sind (Beispiel 'Bestellungen') mehrere Vorkommen möglich, dann ist das korrekt.
Sind (Beispiel 'Student, Kurs') keine doppelten Vorkommen möglich, dann ist das falsch. Auch hierbei hätte ein früherer Test fehlschlagen müssen.

Angenommen es ist bis hierher alles richtig. Was soll gezählt werden? Welches Ergebnis wird erwartet?
Soll die Gesamtanzahl aller z.B. Bestellungen gezählt werden, oder z.B. die Anzahl der Kunden die Bestellt haben. Bei letzterem werden alle Bestellungen von jedem Kunden Gruppiert und die Anzahl der Gruppen ausgegeben.
Also nicht fragen, ob das Ergebnis richtig ist (alles ist möglich), sondern fragen, ob das Ergebnis dem erwarteten Wert entspricht.

0001, 'Lisa'                          
0002, 'Tom'
Logisch richtig. Zwei unterschiedliche Personen, zwei unterschiedliche Vorgänge.

0001, 'Lisa'                          
0002, 'Lisa'
Logisch richtig. Die ID's sind/müssen eindeutig sein. Die restlichen Daten können identisch sein. Also zwei studierende Lisas ist möglich. Somit das gleiche wie vorher.

0001, 'Lisa'                          
0001, 'Peter'
Falsch. Das kann und darf nicht sein! Ist ein typischer Fehler von redundaten Daten. Also wenn die gleichen Daten an verschiedenen Stellen in der DB stehen. Wird nur eine Stelle geändert, ergibt das eine Unstimmigkeit. Sowas sollte in einer relationalen Datenbank niemals passieren!
Das Zählergebnis ist irrelevant, da hier falsche Daten vorliegen.

0001, 'Lisa'                          
0001, 'Lisa'
Wie schon beschrieben: Das ist je nach Aufgabenstellung richtig oder falsch.
Gezählt wird 2 Einträge und 1 Person.


Ich hoffe, das ist nicht zu viel Text :-)

*** in der Vorgabe stehe die 2 Lisas in 'person' das wäre dann falsch, weil zwei Datensätze mit gleicher ID. Ich gehe davon aus, das es Einträge in der Kreuztabelle/ Took sein sollen.



  Profil  Quote  Link auf diesen Beitrag Link
Susanneeee
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 27.05.2019
Mitteilungen: 43
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.10, eingetragen 2019-06-19


Guten morgen,
nun bin ich komplett verwirrt, ich verstehe einfach nicht was du mir sagen möchtest.

Ich habe die beiden Abfragen und möchte wissen ob sie Äquivalent für Mengen und oder Multimengen sind:
a) γ count(∗)→cnt ( π CNo (Course))

b) γ count(∗)→cnt ( π CNo,CName (Course))



Was soll denn passieren?

Es soll bei a) eine Projektion auf dem Atribut CNo durchgeführt  und die Anzahl der Tupel gezählt werden. Also

R:                    
A        B        C
1        2        3
4        5        6
1        3        8

R[A]:
A
1
4

Es werden also doppelte Elemente gestrichen. die gilt nun für a)

Nehmen wir nun b)
R:                    
A        B        C
1        2        3
4        5        6
1        3        8


R[A,B]:
A        B
1        2
4        5
1        3

Hier gibt es also mehr Tupel, denn es wird nur geschaut ob beide Attributewerte gleich sind. Somit würde ich sagen, dass a und b bzgl der Mengen nicht äquivalent sind, denn siehe das Beispiel (von WIKI).

Wie schaut dies aber bei Multimengen aus? Naja eigentlich genauso, denn bei der Projektion werden doppelte Tupel gelöscht,also wäre meine Antwort, dass sie garnicht äquivalent sind.


Kannst du die bitte bestätigen oder verneinen? Damit ich wenigstens ein Erfolgserlebnis habe? BITTE




  Profil  Quote  Link auf diesen Beitrag Link
hgseib
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 04.04.2019
Mitteilungen: 120
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.11, eingetragen 2019-06-19


2019-06-19 10:39 - Susanneeee in Beitrag No. 10 schreibt:
ich verstehe einfach nicht was du mir sagen möchtest.
Dann Sorry, mein Fehler. Dann bin ich draussen.
Vielleicht kann dir jemand anderes das sagen, was du hören möchtest?


Das Beispiel das du jetzt vorgibst stammt aus dem Internet?

Multimengensemantik
Zitat:
'..Für die relationale Algebra kann man dann zusätzlich eine Funktion bag-to-set spezifizieren, die die Duplikate aus einer Multimenge entfernt und somit eine Menge erzeugt, und die Basisoperationen dann einfach als Multimenge { { t | …} } spezifizieren. Vorsicht muss man aber bei der Definition abgeleiteter Operationen walten lassen..'

Die lassen sich auch eine Hintertüre offen. Es wird immer Beispiele geben, die eine Ausnahme bedeuten.



  Profil  Quote  Link auf diesen Beitrag Link
Susanneeee
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 27.05.2019
Mitteilungen: 43
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.12, eingetragen 2019-06-19


Hey,
mal eine andere Frage, hast du selbst die Lösung im Kopf?
Oder willst du mir sagen, dass man die Aufgabe garnicht beantworten kann?

Denn wenn du die Lösung hast, kannst du es mir ja auch sagen und dann können wir darüber kurz schreiben? Denn ich weiß ehrlich gesagt nicht ob ich auf dem richtigen Weg bin oder nicht.

Verstehst du was ich meine? Wenn ich eine z.B ein richtig schweres Integral lösen muss und mein gegenüber mir nur sagt wie man integriert, aber das eigentliche Problem ignoriert, dann macht es ja keinen Sinn?

Ich bin dir sehr dankbar für die Hilfe, aber es wäre schön, wenn du mir einmal die Lösung, sagen würdest die du im Kopf hast.

Und ja ich habe das Beispiel aus dem Internet und ja ich kenne die Semantik, nur was hat dies mit dem Problem hier zu tun?

Ich stecke gerade wirklich fest und es wäre sehr nett wenn wir das nun schnell beenden könnten im nachhinein ist es nur ein Denkfehler gewesen und 3 tage schreiben waren für die Katz. bitte



  Profil  Quote  Link auf diesen Beitrag Link
DerEinfaeltige
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.02.2015
Mitteilungen: 2087
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.13, eingetragen 2019-06-19


Hallo Susanneee und Kataaaa,


Um weiterführende Hilfe zu erhalten, wäre es vielleicht hilfreich, die Frage(n) etwas klarer zu stellen.

Ich bin hier kein Experte, doch dürfte ich nicht der Einzige sein, dem unklar ist, auf welche Datenbank sich welche Abfrage konkret bezieht und auch der verwendete Syntax ist etwas schwer zu lesen.


Kunstwerke in fed oder Latex sind nicht notwendig, doch sind die Posts in dieser Form leider schwer zu lesen.

Ihr könnt auch gerne angeben, auf welche Skripte, Tutorials, Bücher oder andere Medien ihr euch konkret bezieht. Dann findet sich mit etwas Glück jemand, der gezielter helfen kann als im Trüben fischen zu müssen, was euch nichts einbringt und somit allen Beteiligten nur Stress verursacht.


-----------------
Why waste time learning when ignorance is instantaneous?
- Bill Watterson -



  Profil  Quote  Link auf diesen Beitrag Link
Susanneeee
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 27.05.2019
Mitteilungen: 43
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.14, eingetragen 2019-06-19


Hallo DerEinfaeltige,
ich versuche es noch einmal zusammenzufassen.


Die Aufgabe lautet:


Gegeben sei das folgende relationale Datenbankschema:

Student($\underline{\text{MatNo}}$, SName)

Course($\underline{\text{CNo}}$, CName)

Took($\underline{\text{CNo -> Course, MatNo -> Student}}$, Score)

------------
Wobei das unterstrichene der Schlüssel ist.

Dazu mal einen Link (nicht zu der Aufgabe)
de.wikipedia.org/wiki/Relationale_Datenbank
------------

Sind die beiden relationalen Abfragen

$$
\begin{array}{l}{\text { a) } \gamma \text { count }(*) \rightarrow \text { cnt }(\pi \text { CNo (Course)) }} \\ {\text { b) } \gamma \text { count }(*) \rightarrow \text { cnt }(\pi \text { CNo, CName (Course)) }}\end{array}
$$

äquivalent bzgl Mengen und oder Multimengen?



Was genau dies hier für eine Datenbank ist, kann ich dir nicht sagen, außer dass es sich um ein relationale Datenbankschema handelt.


Mehr kann ich dazu nun leider auch nicht sagen, außer dass die beiden Attribute Student und Course in einer $n$ zu $m$ Beziehung stehen, dass sieht man an dem Took, ich denke das ist klar?


Ich hoffe so sehr das hier Jemand helfen kann:)
Falls noch fragen sind, ich versuche sie zu beantworten



  Profil  Quote  Link auf diesen Beitrag Link
Bilbo
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.01.2005
Mitteilungen: 1940
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.15, eingetragen 2019-06-19


Hallo Susanne,

Du hast doch geschrieben, dass diese Aufgabe aus einem Buch stammt. Aus welchem denn? Vielleicht hat jemand Zugriff darauf und kann sich die fehlenden Informationen daraus dann selbst holen.

Ich kenne mich mit dem Thema von der theoretischen Seite her leider auch kaum aus und kann daher nur vermuten, worum es in der Aufgabe genau geht:

In beiden Abfragen soll eine Anzahl von Datensätzen in einer Tabelle gezählt werden.

Abfrage (a) zählt die Anzahl der Kurse, die von Studenten überhaupt besucht wurden. Im Fall von Multimengen muss dabei jeder Kurs mehrfach gezählt werden, wenn er von mehreren Studenten besucht wurde.

Abfrage (b) zählt die Anzahl von Kombinationen aus Kurs und Kursname der von Studenten besuchten Kurse.

Ob ich das soweit richtig erfasst habe, musst du beurteilen, oder weitere Informationen (Definitionen, Notation, Quelle) zur Verfügung stellen! Was mich irritiert, ist, dass in beiden Abfragen die Tabelle/Relation "Took" überhaupt nicht vorkommt, daher weiß ich nicht, ob meine Vermutung überhaupt stimmt. Aber falls doch:

Die Anzahl in (b) muss in jedem Fall mindestens so groß wie die Anzahl in (a) sein, da jedes in (a) gezählte Vorkommen auch in (b) - mit dem Kursnamen als zusätzlicher Angabe - mit der gleichen Vielfachheit gezählt wird. Es kann aber auch zu jedem in (a) gezählten Satz nur einen Satz in (b) geben, da jeder Kurs nur einen eindeutigen Namen besitzt. Demnach sollten die beiden Abfragen in der Tat äquivalent sein.

Viele Grüße
Thorsten




-----------------
Heilmagier der Drachengilde
Wohlordner des Universums
Rechner des Unberechenbaren
Navigator Irrlichts im Ozean der Rätsel



  Profil  Quote  Link auf diesen Beitrag Link
hgseib
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 04.04.2019
Mitteilungen: 120
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.16, eingetragen 2019-06-19


Ich lese noch mit und kann meinen Schnabel nicht halten ;-)

2019-06-19 17:20 - Bilbo in Beitrag No. 15 schreibt:
Es kann aber auch zu jedem in (a) gezählten Satz nur einen Satz in (b) geben, da jeder Kurs nur einen eindeutigen Namen besitzt.
Die ID's sind eindeutig (dafür sind sie da), der Name muss das nicht sein. Es kann durchaus einen Kurs mehrmals geben, so wie es auch mehrere Studenten/-innen mit dem gleichen Namen geben kann.



  Profil  Quote  Link auf diesen Beitrag Link
Bilbo
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.01.2005
Mitteilungen: 1940
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.17, eingetragen 2019-06-19


Hallo hgseib,

ich habe ja auch nicht geschrieben, dass jeder Name nur einmal auftaucht, sondern dass jeder Kurs nur einen Namen hat. Es kann also z.B. der Kurs mit der ID 100 nicht gleichzeitig "Einführung in Datenbanken" und "Theoretische Informatik" heißen. Insofern wäre das gezählte Ergebnis in (b) ein anderes, wenn dort nur die Namen gezählt würden; da aber Name und ID gezählt werden, ist es das gleiche, soweit ich verstehe (falls ich einem Denkfehler unterliege, lasse ich mich gern korrigieren).

Viele Grüße
Thorsten


-----------------
Heilmagier der Drachengilde
Wohlordner des Universums
Rechner des Unberechenbaren
Navigator Irrlichts im Ozean der Rätsel



  Profil  Quote  Link auf diesen Beitrag Link
Susanneeee
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 27.05.2019
Mitteilungen: 43
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.18, eingetragen 2019-06-19


Hallo Bilbo;

Das Buch heißt Database Systems - The Complete
Book


Took muss in der Abfrage nicht vorkommen. Es ist nur da, damit es runder wirkt, nähme ich an.

Also es hört sich nun für mich so an, als würdest du sagen sie wären für Multimengen und für Mengen äquivalent habe ich das richtig gelesen?




@hgseib
Die ID's sind eindeutig (dafür sind sie da), der Name muss das nicht sein. Es kann durchaus einen Kurs mehrmals geben, so wie es auch mehrere Studenten/-innen mit dem gleichen Namen geben kann.

Aber was sind dann die Auswirkungen der Abfrage, ich habe das Gefühl, dass du die Lösung kennst, du darfst sie gerne auch aussprechen, dass hilft viel mehr, als Rätselraten :)


Liebe Grüße
Susanne

[Die Antwort wurde nach Beitrag No.16 begonnen.]



  Profil  Quote  Link auf diesen Beitrag Link
Bilbo
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.01.2005
Mitteilungen: 1940
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.19, eingetragen 2019-06-19


Hallo Susanne,

2019-06-19 18:08 - Susanneeee in Beitrag No. 18 schreibt:
Took muss in der Abfrage nicht vorkommen. Es ist nur da, damit es runder wirkt, nähme ich an.

Ok, dann bedeutet das möglicherweise, dass die Anzahl gar nicht über alle Kurse von allen Studenten gezählt wird, sondern nur über die überhaupt angebotenen Kurse in der Tabelle "Course"? - Was die Argumentation noch vereinfacht, aber nichts am Ergebnis ändert.


Also es hört sich nun für mich so an, als würdest du sagen sie wären für Multimengen und für Mengen äquivalent habe ich das richtig gelesen?

Genau das habe ich versucht zu sagen.  smile

Das Buch habe ich übrigens hier gefunden: https://people.inf.elte.hu/miiqaai/elektroModulatorDva.pdf
Die genannte Aufgabe konnte ich so in dieser Version allerdings nicht finden, vielleicht ist es die falsche Ausgabe.

Viele Grüße
Thorsten


-----------------
Heilmagier der Drachengilde
Wohlordner des Universums
Rechner des Unberechenbaren
Navigator Irrlichts im Ozean der Rätsel



  Profil  Quote  Link auf diesen Beitrag Link
hgseib
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 04.04.2019
Mitteilungen: 120
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.20, eingetragen 2019-06-19


Das war meine Antwort, eine die logischer wäre kenne ich nicht. Und eine andere auch nicht:

2019-06-18 20:42 - hgseib in Beitrag No. 7 schreibt:
Wenn Mengen und Multimengen gleich wären, dann bräucht man sie nicht zu unterscheiden. Also grundsätzlich könnne sie nicht gleich sein.

Aber beweissen kann ich es nicht!
Soll heissen, die Abstaktdenker zauber vielleicht irgend etwas aus dem Hut und behaupten damit wäre es äquivalent.

Mengen und Multimengen sind äquivalent (..wenn die beschriebenen Mengen der Elemente einander umkehrbar eindeutig zugeordnet werden können..) solange es keine mehrfachen Datensätze gibt. Nun ist es aber der Sinn von Multimengen mehrfache Datensätze zu berücksichtigen. Wie sinnvoll ist dann noch die ursprüngliche Frage?
Sind Äpfel und Birnen gleich? Ja, beides ist Obst.

Wenn die Antwort nicht im Buch steht, dann schreibt vielleicht einmal den Autor an, was seiner/ihrer Meinung nach richtig wäre.

[Die Antwort wurde vor Beitrag No.1 begonnen.]

@Forumbetreiber
Dieser Post wurde nicht vor #1 begonnen. Da muss es einen Fehler in der Software geben? Eventuell führen quoteoff zu falschen aussagen?



  Profil  Quote  Link auf diesen Beitrag Link
Susanneeee
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 27.05.2019
Mitteilungen: 43
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.21, eingetragen 2019-06-19


@hgseib Du machst mich verrückt xd  Bist du nun der Meinung von Bilbo, dass sie für Mengen und Multimengen äquivalent sind oder nicht, ich kann es leider überhaupt nicht aus deiner Antwort lesen. Du versteckst deine Antwort immer in Fragen, du bist nicht zufälligerweise mein alter Deutschlehrer oder?
Könntest du kurz yes oder no sagen? Also ob du zustimmst oder nicht?


@Bilbo Ja, ich habe eine andere Version des Buches.
Ich danke dir für die hilfe



  Profil  Quote  Link auf diesen Beitrag Link
Bilbo
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.01.2005
Mitteilungen: 1940
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.22, eingetragen 2019-06-19


Hallo hgseib!

2019-06-19 18:36 - hgseib in Beitrag No. 20 schreibt:
@Forumbetreiber
Dieser Post wurde nicht vor #1 begonnen. Da muss es einen Fehler in der Software geben? Eventuell führen quoteoff zu falschen aussagen?

Das hat mich auch irritiert. Ich wurde mittlerweile darüber aufgeklärt (danke, Diophant!), dass das wohl derzeit passiert, "wenn man einen Beitrag anfängt, ohne eingeloggt zu sein und sich dann erst zum Absenden einloggt."

Zum Thema: Multimengen und Mengen sind sicher im Allgemeinen nicht äquivalent. Dennoch können sie in Bezug auf diese konkrete Frage äquivalent sein. Wenn es in der Aufgabe nicht in erster Linie darum gehen soll, den Unterschied zwischen Mengen und Multimengen aufzuzeigen, sondern der Autor auf etwas anderes hinauswill, macht das die Frage aber ja nicht sinnlos.

@Susanne: Warum ist es wichtig, ob hgseib nun zustimmt oder nicht? Es geht hier doch nicht darum, die Antwort auf die Frage per Mehrheitsentscheid zu finden.  wink Ich habe dir eine Argumentation genannt; wenn du diese nicht nachvollziehen kannst oder ich die Voraussetzungen falsch verstehe, dann stell konkrete Fragen dazu. Ansonsten solltest Du durch diese Argumentation selbst zur Antwort gelangen.

Viele Grüße
Thorsten


-----------------
Heilmagier der Drachengilde
Wohlordner des Universums
Rechner des Unberechenbaren
Navigator Irrlichts im Ozean der Rätsel



  Profil  Quote  Link auf diesen Beitrag Link
hgseib
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 04.04.2019
Mitteilungen: 120
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.23, eingetragen 2019-06-19


@Susanneeee
Nochmals entschuldigung, aber meine Aussagen sind eindeutig und begründet.
Und in Deutsch hatte und habe ich eine 5 :-(

2019-06-19 18:16 - Bilbo in Beitrag No. 19 schreibt:
Ok, dann bedeutet das möglicherweise, dass die Anzahl gar nicht über alle Kurse von allen Studenten gezählt wird, sondern nur über die überhaupt angebotenen Kurse in der Tabelle "Course"? - Was die Argumentation noch vereinfacht, aber nichts am Ergebnis ändert.

@Bilbo
Du verstehst das wenigstens? Da Datensätze auf Grund ihrer ID's eindeutig sind. Was macht es für einen Sinn eine Tabelle auf Multimengen auszuwerten, wenn da garkeine drinn sein können?

a) da stimmt etwas grundsätzlich nicht
b) es wird vermutet, das doppelte, somit fehlerhafte Datensätze vorliegen. Was aber garnichts mit der ursprünglichen Frage zu tun hat. Somit a)


i.d.R. kennen relationale Datenbankmodell ihre relationen selbst. Diese müssen somit nicht durch komplexe SQL-Befehle bereit gestellt werden. Es kann durchaus sein, das Took beteiligt ist, was vielleicht durch die Frage nicht ersichtlich ist, falls nicht alle relevanten Informationen vorliegen?

p.s.
.. sondern der Autor auf etwas anderes hinauswill ..
das wäre eine Erklärung!



  Profil  Quote  Link auf diesen Beitrag Link
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2019 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]