Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:sbd:2009:projekty:rewersy:logiczny [2010/09/11 11:14]
sbd09
pl:dydaktyka:sbd:2009:projekty:rewersy:logiczny [2019/06/27 15:50] (aktualna)
Linia 456: Linia 456:
  
 ==== -. Denormalizacja struktury tabel. ==== ==== -. Denormalizacja struktury tabel. ====
 +
 +Nie przewidujemy denormalizacji tabel. Archiwizacja danych systemu jak i raporty i zestawienia są na tyle nieskomplikowane,​ że nie potrzebujemy robić dodatkowych złączeń, a także tworzyć redundantnych danych.
 +
 ==== -. Projektowanie operacji na danych. ==== ==== -. Projektowanie operacji na danych. ====
 +
 +* //Zwraca imię zalogowanego użytkownika://:​
 +<code sql>​SELECT imie FROM uzytkownik WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zwraca nazwisko zalogowanego użytkownika://:​
 +<code sql>​SELECT nazwisko FROM uzytkownik WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zwraca email użytkownika://:​
 +<code sql>​SELECT e_mail FROM uzytkownik WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zwraca hasło zakodowane w md5://:
 +<code sql>​SELECT haslo FROM uzytkownik WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zwraca budynek://:
 +<code sql>​SELECT budynek FROM uzytkownik WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zwraca pokój://:
 +<code sql>​SELECT pokoj FROM uzytkownik WHERE login= '​$_SESSION["​user"​]'</​code>​
 +\\
 +\\
 +\\
 +\\
 +* //Zmienia imię użytkownika://:​
 +<code sql>​UPDATE uzytkownik SET imie= '​$new_name'​ WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zmienia nazwisko://:​
 +<code sql>​UPDATE uzytkownik SET nazwisko= '​$new_surname'​ WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zmienia email://:
 +<code sql>​UPDATE uzytkownik SET e_mail= '​$email'​ WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zmienia hasło://:
 +<code sql>​UPDATE uzytkownik SET haslo= '​$pass'​ WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zmienia budynek://:
 +<code sql>​UPDATE uzytkownik SET budynek= '​$building'​ WHERE login= '​$_SESSION["​user"​]'</​code>​
 +* //Zmienia pokój://:
 +<code sql>​UPDATE uzytkownik SET pokoj= '​$room'​ WHERE login= '​$_SESSION["​user"​]'</​code>​
 +\\
 +\\
 +\\
 +\\
 +* //Dodaje książkę://:​
 +<code sql>​INSERT INTO ksiazki (tytul, rok_wydania,​ wydawnictwo,​ login) VALUES ( '​$title',​ '​$year',​ '​$publisher',​ '​$_SESSION["​user"​]'​ )"</​code>​
 +* //Pobiera listę książek zalogowanego użytkownika://:​
 +<code sql>​SELECT tytul, rok_wydania,​ wydawnictwo,​ imie, nazwisko, ksiazki.id FROM ksiazki
 +
 + INNER JOIN napisali ON ksiazki.id=napisali.id_ksiazka
 +
 + INNER JOIN autorzy ON autorzy.id=napisali.id_autora
 +
 + WHERE login= '​$_SESSION["​user"​]'​ ORDER BY tytul, id</​code>​
 +* //Usuwa książkę o podanym ID://:
 +<code sql>​DELETE FROM autorzy WHERE id IN (SELECT DISTINCT id FROM autorzy WHERE id NOT IN 
 +
 + (SELECT DISTINCT id_autora FROM napisali INNER JOIN autorzy ON id_autora= '​id'​)</​code>​
 +* //Zwraca dane książki o podanym ID://:
 +<code sql>​SELECT tytul, rok_wydania,​ wydawnictwo,​ imie, nazwisko FROM ksiazki
 +
 + INNER JOIN napisali ON ksiazki.id=napisali.id_ksiazka
 +
 + INNER JOIN autorzy ON autorzy.id=napisali.id_autora
 +
 + WHERE login= '​$_SESSION["​user"​]'​ AND ksiazki.id= '​$id'</​code>​
 +* //​Uaktualnij profil książki://:​
 +<code sql>​UPDATE ksiazki SET  tytul= '​$title'​ , rok_wydania= '​$year',​
 + wydawnictwo= '​$publisher'​ WHERE login= '​$_SESSION["​user"​]'​ AND id= '​$id';</​code>​
 +* //Usuwa nieużywanych autorów (tych, do których nie ma przypisanych żadnych książek)://:​
 +<code sql>​DELETE FROM autorzy WHERE id IN (SELECT DISTINCT id FROM autorzy WHERE id NOT IN 
 +
 + (SELECT DISTINCT id_autora FROM napisali INNER JOIN autorzy ON id_autora= '​id'​))</​code>​
 +* //Pobiera listę książek zalogowanego użytkownika://:​
 +<code sql>​SELECT DISTINCT tytul, rok_wydania,​ wydawnictwo,​ imie, nazwisko, ksiazki.id, ksiazki.login FROM ksiazki
 +
 + INNER JOIN napisali ON ksiazki.id=napisali.id_ksiazka
 +
 + INNER JOIN autorzy ON autorzy.id=napisali.id_autora
 +
 + INNER JOIN przetrzymuje ON przetrzymuje.login= '​$SESSION["​user"​]'​
 +
 + WHERE przetrzymuje.id_ksiazka=ksiazki.id ORDER BY tytul</​code>​
 +* //zwraca login jeśli książka jest pożyczona, jeśli nie to zwraca empty//:
 +<code sql>​SELECT login FROM przetrzymuje WHERE id_ksiazka= '​id'</​code>​
 +* //zwraca login jeśli książka jest zarezerwowana,​ jeśli nie to zwraca empty//:
 +<code sql>​SELECT login FROM rezerwuje WHERE id_ksiazka= '​$id'</​code>​
 +* //dokonuje rezerwacji książki o $id na osobę $login//:
 +<code sql>​INSERT INTO rezerwuje (id_ksiazka,​ login) VALUES ('​$id',​ '​$login'​)</​code>​
 +* //usuwa rezerwację książki o $id na osobę $login//:
 +<code sql>​DELETE FROM rezerwuje WHERE login= '​$login'​ AND id_ksiazka= '​$id'</​code>​
 +* //zwraca date pozyczenia książki//:​
 +<code sql>​SELECT data_wypozyczenia FROM przetrzymuje WHERE id_ksiazka= '​$id'</​code>​
 +* //Zwraca imię i nazwisko loginu//:
 +<code sql>​SELECT imie, nazwisko FROM uzytkownik WHERE login= '​$login'</​code>​
 +* //zwraca pokoj i budynek w ktorym przesiaduje $login//:
 +<code sql>​SELECT pokoj, budynek FROM uzytkownik WHERE login= '​$login'</​code>​
 +* //zwraca email uzytkownika o loginie $login//:
 +<code sql>​SELECT e_mail FROM uzytkownik WHERE login= '​$login'</​code>​
 +* //oznacza książkę o id $id jako pożyczoną komuś o loginie login//:
 +<code sql>​INSERT INTO przetrzymuje (id_ksiazka,​ login, data_wypozyczenia) VALUES ("​.$id."​ , '​$login',​ '​date("​Y-m-d"​)'​)</​code>​
 +* //usuwa książkę z bazy pozyczonych//:​
 +<code sql>​DELETE FROM przetrzymuje WHERE id_ksiazka= '​$id'</​code>​
 +* //Czy w bazie jest osoba o danym loginie true/​false://:​
 +<code sql>​SELECT * FROM uzytkownik WHERE login= '​$login'</​code>​
 +* //Czy w bazie jest osoba o podanym imieniu i nazwisku , tak - zwraca login://:
 +<code sql>​SELECT login FROM uzytkownik WHERE imie= '​$name'​ AND nazwisko= '​$surname'</​code>​
 +* //zwraca listę wszystkich książek dostępnych w bazie oprócz posiadanych przez zalogowanego użytkownika://:​
 +<code sql>​SELECT DISTINCT tytul, rok_wydania,​ wydawnictwo,​ imie, nazwisko, ksiazki.id, login FROM ksiazki
 +
 + INNER JOIN napisali ON ksiazki.id=napisali.id_ksiazka
 +
 + INNER JOIN autorzy ON autorzy.id=napisali.id_autora
 +
 + WHERE login''​ '​$_SESSION["​user"​]'​ ORDER BY tytul, ksiazki.id;</​code>​
 +* //SQL pozwalający na usunięcie użytkownika przez tego kto go zaprosił, razem z powiązaniami i książkami://:​
 +      * //​usunięcie rezerwacji//:​
 +      * <code sql>​DELETE FROM rezerwuje WHERE login= '​$login'</​code>​
 +      * //​usunięcie zarezerwowanych książek//:​
 +      * <code sql>​DELETE FROM rezerwuje WHERE id_ksiazka IN (SELECT id FROM ksiazki WHERE login= '​$login'</​code>​
 +      * //​usunięcie przetrzymywanych książek//:​
 +      * <code sql>​DELETE FROM przetrzymuje WHERE login= '​$login'</​code>​
 +      * //​usunięcie zaproszeń//:​
 +      * <code sql>​DELETE FROM zaproszony WHERE login_polecil= '​$login'</​code>​
 +      * //​przepięcie zaproszeń (żeby nie było luki w drzewie zaproszeń)//:​
 +      * <code sql>​DELETE FROM zaprosil WHERE zaproszony= '​$login'​
 +        UPDATE zaprosil SET login='​$_SESSION["​user"​]'​ WHERE login='​$login'</​code>​
 +      * //​usunięcie książek//:​
 +      * <code sql>​SELECT id FROM ksiazki WHERE login='​$login'</​code> ​  
 +      * //​usunięcie użytkownika z bazy//:
 +      * <code sql>​DELETE FROM uzytkownik WHERE login='​$login'</​code>​
 +* //Dodaje nowego użytkownika://:​
 +<code sql>​INSERT INTO uzytkownik(login,​ imie, nazwisko, e_mail, haslo, budynek, pokoj) ​
 +
 + values('​$login','​$name','​$surname','​$youremail','​md5($password)','​$building','​$room'​)</​code>​
pl/dydaktyka/sbd/2009/projekty/rewersy/logiczny.1284196477.txt.gz · ostatnio zmienione: 2019/06/27 15:55 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0