Relational Calculus in relational Databases

    • Relational Calculus in relational Databases

      hoi,

      da ich halt gar keine ahnung habe wo ich das sonst fragen soll bzw überall wo ich mir ne antwort erwarte schon abgefragt habe, frag ich mal hier.

      voraussetzung:
      relationale datenbank irgendeiner forum.

      problem:
      hab bis jetzt nur mit mysql gearbeitet und das unterstützt nur relationale algebra, aber keinen relationalen calculus.
      an sich sind die queries nicht so schwer zu schreiben, aber ich würde sie gern testen und dabei nicht mich durch dbmls kämpfen müssen.

      falls sich jemand damit auskennt bitte mir ne möglichkeit zur überprüfung reinschreiben bzw könnte ich die queries auch hier reinstellen falls jemand drüber schauen will.

      mfg,
      skull
    • Stell mal rein. Ich kann dir dann zwar nicht sicher sagen, ob die Stimmen, aber ich könnte evlt. ein paar Fehler finden, falls da welche sind.
      Ein Tool zum Testen kenne ich nicht.
      There are 10 types of people - those who understand binary, and those who don't.
    • \emph{Get the phone numbers of all customers who ever borrowed a book:}\\
      Range Customer C;\\

      Range Book B SOME;\\

      Range Record R SOME;\\

      Get RESULT(C.Phone) : B.BID = R.BID AND C.CID = R.CID\\

      \\

      \emph{Get ID and Name of all books who only have been borrowed by peope above the age of 50:}\\

      Range Book B;\\

      Range Customer C ALL;\\

      Range Record R SOME;\\

      Get RESULT(B.BID, B.NAME) : B.BID = R.BID AND R.CID = C.CID \\ AND C.AGE > 50\\

      \\

      \emph{Get the amount of libraries who have books of the category "Horror":}\\

      Range Library L;\\

      Range Book B SOME;\\

      Get RESULT(COUNT(L.LNR)) : B.LNR = L.LNR AND B.Category = "Horror"\\
      hoffe der tex code stört net.
      danke fürs drüberschauen.

      mfg
    • Also die Syntax ist mir neu, aber ich seh da keinen Fehler. Sind normale SQL Querries ohne Joins. Hast du konkrete Tabellen dazu gegeben oder darfst du dir die denken? =)

      Kleine Anmerkung: Wenn du in der Praxis auf Performance aus bist (in den Beispielen irrelevant, aber nur als Hinweis), dann ist es am günstigsten die Bedingung, die die Größte Einschränkung (also das kleinste Lösungsset) enthält zu verwenden. Sowas wie age > 50 oder dann nach der Kategorie suchen und erst dann über die IDs Verknüpfen wäre dann schneller. Ich weiß jetzt aber auch nicht in wie weit der Querry Optimizer das selbst erledigt aber in der Theorie selbst wäre das halt ne Optimierungsmöglichkeit.
      There are 10 types of people - those who understand binary, and those who don't.