[SQL] Czym różnią się wyniki zapytań w SQL i algebrze relacj

max123321
Użytkownik
Użytkownik
Posty: 3394
Rejestracja: 26 maja 2016, o 01:25
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 981 razy
Pomógł: 3 razy

[SQL] Czym różnią się wyniki zapytań w SQL i algebrze relacj

Post autor: max123321 »

Czym różnią się wyniki zapytań w SQL i algebrze relacji?

Jak odpowiedzieć na to pytanie?
Ostatnio zmieniony 20 cze 2019, o 21:06 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

Re: [SQL] Czym różnią się wyniki zapytań w SQL i algebrze re

Post autor: Afish »

Rozważ duplikaty.
max123321
Użytkownik
Użytkownik
Posty: 3394
Rejestracja: 26 maja 2016, o 01:25
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 981 razy
Pomógł: 3 razy

Re: [SQL] Czym różnią się wyniki zapytań w SQL i algebrze re

Post autor: max123321 »

Nie rozumiem, w SQL nie dopuszcza się duplikatów, a w algebrze relacji dopuszcza? Możesz bardziej wyjaśnić, bo tu tak łatwo chyba tego nie zrozumiem.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

Re: [SQL] Czym różnią się wyniki zapytań w SQL i algebrze re

Post autor: Afish »

Czy w relacji możesz mieć duplikaty?
Czy w zapytaniu możesz dostać duplikaty?

Ponadto:
Czy relacja jest uporządkowana?
Czy wynik zapytania może być uporządkowany?
max123321
Użytkownik
Użytkownik
Posty: 3394
Rejestracja: 26 maja 2016, o 01:25
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 981 razy
Pomógł: 3 razy

Re: [SQL] Czym różnią się wyniki zapytań w SQL i algebrze re

Post autor: max123321 »

W sensie w tabeli? No moge miec takie same wiersze. No w zapytaniu chyba też mogę mieć powtórki.
No tabelka to nie wiem czy jest uporządkowana. Nie wiem o jakie uporządkowanie chodzi. A wynik zapytania może być posortowany, ale nie wiem czy o to chodzi. Wytłumacz jak człowiek, co i jak.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

Re: [SQL] Czym różnią się wyniki zapytań w SQL i algebrze re

Post autor: Afish »

max123321 pisze:W sensie w tabeli? No moge miec takie same wiersze. No w zapytaniu chyba też mogę mieć powtórki.
A w algebrze relacji? Czym jest relacja w Twoich definicjach?
max123321 pisze:A wynik zapytania może być posortowany, ale nie wiem czy o to chodzi.
A relacja jest uporządkowana? Ponownie, przytocz definicję, bo każdy to definiuje inaczej i bez tego nie da się odpowiedzieć.
max123321
Użytkownik
Użytkownik
Posty: 3394
Rejestracja: 26 maja 2016, o 01:25
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 981 razy
Pomógł: 3 razy

Re: [SQL] Czym różnią się wyniki zapytań w SQL i algebrze re

Post autor: max123321 »

Właściwie to nie mam podanej definicji relacji. Z kontekstu wydaje mi się, że to się niewiele różni od tabeli po prostu. A atrybuty to po prostu nazwy kolumn. Ja tak to rozumiem, wyprowadź mnie z błędu jeśli źle rozumuję.

No dobra, a co do meritum, to w algebrze relacji znalazłem, że faktycznie nie może być duplikatów, a w zapytaniach mogą być, zatem to by była jedna różnica.

A o tym uporządkowaniu to nie mam pojęcia, nie mogę nic znaleźć na ten temat w wykładach, znalazłem tylko, że operator sortowania nie jest operatorem algebry relacji, ani wielozbiorów, lecz algebry list. Czy z tego należy wywnioskować, że relacja nie jest uporządkowana, a wynik zapytania może być posortowany, czyli to jest kolejna różnica?
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

Re: [SQL] Czym różnią się wyniki zapytań w SQL i algebrze re

Post autor: Afish »

max123321 pisze:Właściwie to nie mam podanej definicji relacji. Z kontekstu wydaje mi się, że to się niewiele różni od tabeli po prostu. A atrybuty to po prostu nazwy kolumn. Ja tak to rozumiem, wyprowadź mnie z błędu jeśli źle rozumuję.
Intuicję masz dobrą, ale nie jest to poprawne matematycznie. Relacja jest podzbiorem iloczynu kartezjańskiego zbiorów (gdzie każdy zbiór to zbiór wartości danej "kolumny") i z tego wynika, że w relacji nie ma duplikatów. Tabela w SQL to worek, możesz mieć wiersze o tych samych wartościach (wystarczy nie definiować klucza głównego danej tabeli). Da się rozszerzyć algebrę relacji na worki, ale wtedy część praw nie działa.

max123321 pisze:No dobra, a co do meritum, to w algebrze relacji znalazłem, że faktycznie nie może być duplikatów, a w zapytaniach mogą być, zatem to by była jedna różnica.
Tak.
max123321 pisze:A o tym uporządkowaniu to nie mam pojęcia, nie mogę nic znaleźć na ten temat w wykładach, znalazłem tylko, że operator sortowania nie jest operatorem algebry relacji, ani wielozbiorów, lecz algebry list. Czy z tego należy wywnioskować, że relacja nie jest uporządkowana, a wynik zapytania może być posortowany, czyli to jest kolejna różnica?
Tak. Relacja w matematyce jest zbiorem, więc nie ma porządku. Wynik zapytania SQL z klauzulą ORDER BY jest uporządkowany.

Pewnie da się znaleźć jeszcze inne różnice, to zależy od Twoich definicji i od widzimisię wykładowcy.
ODPOWIEDZ