hej
moze ktos polecic mi aplikacje do zabawy z sql :)
chodzi o tworzenie tabel i cwiczenie zapytan SQL:) a do tego jest potzrebna jakas aplikacja:)
z gory dzieki
Zawsze wydawało mi się, że do ćwiczenia zapytań potrzebne są książki, help i jakieś zagadnienia do rozszyfrowania, ale, cóż - mogę się mylić. Zapytania można pisac Notatniku lub nawet CMD.
Napisz jaki SZBD, to może ktoś ci coś doradzi. Ja ze swej strony mogę polecić: http://sqlmanager.net/
potrzebujesz ściągnąć i zainstalować jakikolwiek SZBD, np. postgresql, mysql, firebird, mssql, oracle, db2. Radzę wybrać któryś z pierwszych 3 bo do nauki nie potrzeba wypasioneo serwera, którego nie użyjesz nawet w 10% a instalować sobie np. oracla 11 to tak jakby kompa zamordować :p. Wszystko czego Ci potrzeba mają ww (nie jestem tylko pewny czy mysql ma jakąś konsole) SZBD już w sobie, inna sprawa, że mało wygodne. Inna sprawa, że nauka SQLa to nie wyklikiwanie tabelek a pisanie poleceń samemu aby się ich nauczyć
Jesli chodzi o zadania do rozwiazania to zobacz na ta strone.
Jak chcesz miec wygodnie to zainstaluj mssql express i management studio. Oba darmowe, oba przyjemne w uzyciu. MySQL ma konsole, ale moze odstraszac. Postgres ma PgAdmina, ale jakos tez nie przepadam, chociaz konsole ma w porzadku. A ktore najblizej standardu to szczerze mowiac nie wiem.
Jak masz na komputerze pełny OpenOffice, to możesz ćwiczyć w programie OpenOffice.Base. Silnik bazy danych, to HSQL. Nabędziesz też dobrych nawyków bo ta baza wymaga w każdej tabeli klucza głównego na pole ID typu INTEGER. jeśli spróbujesz zapisać tabelę bez tego pola, to sama go stworzy.
bogdans napisał(a)
Jak masz na komputerze pełny OpenOffice, to możesz ćwiczyć w programie OpenOffice.Base. Silnik bazy danych, to HSQL. Nabędziesz też dobrych nawyków bo ta baza wymaga w każdej tabeli klucza głównego na pole ID typu INTEGER. jeśli spróbujesz zapisać tabelę bez tego pola, to sama go stworzy.
No, rzeczywiście bardzo dobry nawyk - SZBD sam wie lepiej jaki chcę mieć PK :)
Moim zdaniem w każdej tabeli winien być "identyfikator rekordu" nie zawierający żadnej informacji i służący tylko do łączenia tabel, Najlepiej żeby był AUTOINCREMENT i sam się wypełniał. To, że w każdej tabeli nazywa się ten identyfikator tak samo tylko ułatwia życie.
Ale wcale nie znaczy to, że ma on być PRIMARY KEY. I o tym pisałem. A także wcale nie musi być INT.
pozdrawiaMM
bogdans napisał
Jak masz na komputerze pełny OpenOffice, to możesz ćwiczyć w programie OpenOffice.Base. Silnik bazy danych, to HSQL. Nabędziesz też dobrych nawyków bo ta baza wymaga w każdej tabeli klucza głównego na pole ID typu INTEGER. jeśli spróbujesz zapisać tabelę bez tego pola, to sama go stworzy.
i napisał nieprawdę, powinien napisać tak
Jak masz na komputerze pełny OpenOffice, to możesz ćwiczyć w programie OpenOffice.Base. Silnik bazy danych, to HSQL. Nabędziesz też dobrych nawyków bo ta baza wymaga w każdej tabeli klucza głównego, jeśli spróbujesz zapisać tabelę bez klucza głównego, to sama go stworzy (na pole ID typu INTEGER).
Dupa, nie dobry nawyk ;) Dobrym nawykiem rzeczywiscie jest tworzyc klucze glowne, zlym nawykiem liczyc, ze silnik bedzie grzebal po NASZEJ bazie ;) Osobiscie sadze, ze zaden nie ma takiego prawa - Access tez tak robi i chetnie urwe rece temu, ktory to wymyslil [glowa].
Jeśli dobrym nawykiem jest tworzenie klucza głównego, to co jest złego w tym, że silnik nie pozwoli dopisywać rekordów do tabeli bez klucza głównego. Podczas projektowania tabeli lojalnie ostrzega i proponuje, że sam utworzy klucz główny, Jak odpowiesz TAK, to powstanie pole ID(INTEGER) i PK na to pole.
Zaraz, chwila.
jeśli spróbujesz zapisać tabelę bez klucza głównego, to sama go stworzy
to nie to samo co
proponuje, że sam utworzy klucz główny
Ja tu mowie o w pelni automatycznym i niezaleznym od nas dzialaniu silnika, a polegajacym na zmianie struktury bazy, tak jak mu sie wydaje. A Access tak czasem czyni i kij mu w oko za to :P
Oprocz tego:
[...] co jest złego w tym, że silnik nie pozwoli dopisywać rekordów do tabeli bez klucza głównego.
To, ze taki jest projekt Twojej bazy i byc moze miales w tym swoj zamysl. Co innego ostrzezenie przy projektowaniu, co innego blokada na tabele, bo tak. Oczywiscie czy taka tabela jest sensowna to inna sprawa, ale jestem przeciwnikiem zwalniania programisty/projektanta z myslenia.