ďťż

[sql] Jak poprawnie zapisać?

       

Podstrony


telcocafe

Witam,

Mam zadanie do szkoły z baz danych. Wymyśliłem wydaje mi się poprawną do niego bazę danych. Tylko teraz nie wiem jak zapisać ta baze w SQL. Znaczy zapisać po przez CREATE to jeszcze nie taki problem, ale muszę zaznaczyć w niej więzy integralności, a nie moge sobie z tym poradzic w SQL. Czy mogę prosić z tym o pomoc, jak to ma wyglądać?

Moja baza:
Klienci (Id_klienta, Nazwisko, Imię, Nr_dok_tozsamosci) //klucz Id_klienta
Pokoje (Nr_pokoju, Liczba_miejsc, Cena, Opis) //klucz Nr_pokoju
Rezerwacje (Id_rezerwacji, Id_klienta, Nr_pokoju, Data_start, Data_end) //klucz Id_rezerwacji
Mieszkancy(Id_mieszkanca Id_klienta, Nr_pokoju, Data_start, Data_end) //Id_mieszkanca

--------
Treść zdania:
Zaprojektuj bazę danych umożliwiającą obsługę hotelu. Baza powinna umożliwiać przechowywanie i przetwarzanie takich informacji jak:
- opis pokoi (liczba miejsc, standard, cena)
- lista mieszkańców (kto mieszka, od kiedy, do kiedy)
- lista rezerwacji (kto rezerwuje, od kiedy, do kiedy)

Baza ma być tak zaprojektowana, aby nie tracić informacji, tzn. jeśli klient wymeldował się z hotelu, to ma zostać informacja o tym, kiedy i w jakim pokoju mieszkał.
Oddawany plik o nazwie hotel.sql powinien zawierać: definicję tabel i relacji pomiędzy nimi.
--------



W czym masz stworzyć bazę danych? W Accessie? W wielu silnikach istnieją klucze obce. W MySQL tylko w tabelach o typie InnoDB. W Accessie jest trochę inaczej. Zajrzyj do oficjalnych przewodników: http://office.micros...1205341045.aspx

Witam.
Dzięki za odpowiedź. Tak, wlasnie mi chodzi o InnoB, mam to zapisac w czystym jezyku SQL (wiec chyba, w Mysql bedzie dzialac), nie w Accessie. Ta baze rozpisalem na kartce. U mnie klucze obce to: Id_klienta w tabeli Rezerwacje i Mieszkancy i Nr_pokoju w Rezerwacje i Mieszkancy. Chcialbym zeby to bylo odpowiednio powiazane zeby bylo to spojne. Bo chyba jak nazwe tylko tak samo atrybut w jednej i drugiej tabeli, to nie zadziala

Tutaj są przykłady: FOREIGN KEY

Musisz wiedzieć, która tabela jest nadrzędna. Napisz teraz zapytania, a my je sprawdzimy. Skorzystaj z oficjalnej dokumentacji MySQL lub informacji na blogach poświęconym stworzeniem aplikacji internetowych.

Podpowiedź: pamiętaj o słowie REFERENCES oraz akcjach, które baza ma wykonać przy zmianie wartości kluczy obcych.FOREIGN KEY (pole1, pole2) REFERENCES nazwa_nadrzednej_tabeli(pole1, pole2) ON UPDATE [akcja]



A jeśli jesteś leniwy to zainstaluj sobie phpMyAdmin (lub pakiet Vertrigo, który zawiera serwer mysql oraz phpmyadmiin) i stworzenie takiej tabeli zajmie Ci ze 20 minut :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.