Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: baza danych w txt
Forum PHP.pl > Forum > Bazy danych > MySQL
damianb1986
Witam wszystkich. Stworzyłem bazę danych za pomocą workbench'a i jej kod przeniosłem do notatnika zapisując jako plik txt. Prówałem ją "zassać" za pomocą krasnal serv by sprawdzić jej poprawnośc. Wyskakuje mi komunikat o błednym syntaxie.Próbowałem na różne sposoby poprawić błąd i nic nie pomaga. Proszę o pomoc.

Mchl
Brakuje średnika na końcu poprzedniej instrukcji.

Które wersje PHP i MySQL masz w tym krasnalu?
damianb1986
Apache 1.3.31
PHP 4.3.9
PHP 5.0.2
MySQL 3.23.58
ActivePerl 5.6.1.628
phpMyAdmin 2.6.0 pl2
SQLiteManager 1.0.1

CesarFTP 0.99g

WebAlizer 2.1

Free SMTP Server

gdzie dokładnie on powinien być?
Mchl
Po pierwsze, zachęcam do wyjścia ze średniowiecza i przesiadki na nowsze wersje. Jeśli chcesz mieć fajny windowsowy pakiet, to polecam:
http://www.wampserver.com/en/
Jak się nie przesiądziesz na MySQL 5+, to nawet nie będę z Tobą rozmawiał.

Po drugie:
Kod
ON DELETE NO ACTION ON UPDATE NO ACTION)
);

I tak pewnie będzie po każdej instrukcji, bo zauważ że na końcu definicji tej tabeli też brakuje średnika.

Po trzecie:
Typy kolumn w tej tabeli dobrałeś bez sensu. Widziałeś kiedyś PESEL albo nr telefonu na 45 znaków? Pewnie nie
A adres email dłuższy niż 45? Na pewno tak.
A oceny na Twojej uczelni są z zakresu 0 - 4 294 967 295? Współczuję.

Po czwarte:
Dlaczego w kluczu fk_Student_Dziennik1 akurat taka kolejność kolumn? Czy to świadoma decyzja, czy tak Ci się po prostu ułożyło?
damianb1986
Kolejność kolumn akurat mi się taka ułożyła smile.gif W bazach danych raczkuję więc prosiłbym o nie pojechanie po mnie.Przy tworzenie bazy danych korzystałem z mysql workbench'a.A co do klucza obcego to proponowałbyś coś innego? A co do o ceny to co jest nie tak? z góry dziekuję.
Mchl
Pytałem o kolejność kolumn w kluczu, bo ma ona w pewnych przypadkach znaczenie:
http://dev.mysql.com/doc/refman/5.1/en/mul...mn-indexes.html

Na ocenę przeznaczyłeś pole typu INT. W takim polu możesz przechowywać liczby całkowite z zakresu 0 - 4 294 967 295 i zajmuje ono 4 bajty w każdym wierszu. Oceny na uczelniach zazwyczaj są z zakresu 2-5, rzadziej 1-10, tak więc wystarczy na to pole TINYINT, gdzie możesz przechowywać wartości z zakresu 0 - 255, a zajmuje tylko jeden bajt. Oszczędzasz trzy bajty na każdym wierszu (może wydawać się niewiele, ale jak przemnożysz to przez ilość wystawianych ocen, to trochę się zbierze).
http://dev.mysql.com/doc/refman/5.1/en/data-size.html

P.S. Przesiadłeś się już na nowszy MySQL, bo nie wiem czy mogę z Tobą rozmawiać tongue.gif
damianb1986
Już powoli się przesiaduję bo mam kolejne pytanie na które nie znam odpowiedzi winksmiley.jpg Jak się przesiądę to edytuje posta
Mchl
Którą wersję Wrokbencha masz? Ja zrobiłem sobie przed chwilą próbę eksporty w 5.2 i średniki mam na miejscu.
damianb1986
5.1.18 smile.gif teraz jest ok z tabelami smile.gif tylko mam problem ze stworzonym userem. przy poleceniu CREATE USER Administrator IDENTIFIED BY 'admin'; krasnal wywalał mi jakiś błąd mówiąc że syntax error obok tego polecenia.
Mchl
Jeżeli 'obok' tego polecenia w całości, to najprawdopodobniej problem był z brakującym średnikiem przy poleceniu poprzednim.
damianb1986
tak mi krasnal wskazywał. wamp teraz strasznie długo wczytuje skrypt bazy danych, nie wiem czemu, tak jakby ten skrypt kilka mb ważył.Co jest grane?oto komunikat:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 36278 bytes) in C:\wamp\apps\phpmyadmin3.2.0.1\libraries\sqlparser.lib.php on line 342
Mchl
No trochę to dziwne, bo stworzenie samej struktury nie powinno zająć ani tyle czasu, ani pamięci...

Spróbuj wrzucać po jedej tabeli naraz z tego pliku winksmiley.jpg


A tak nawiasem mówiąc zamotałeś się w kluczach obcych.

To w tabeli 'dziennik' powinieneś przechowywać id studenta, któremu została wystawiona ocena, a nie w tabeli 'student' id oceny i przedmiotu.

Podobna sytuacja w innych tabelach.
damianb1986
A czy mógłbyś poprawić skrypt tak jak Ty go widzisz, a ja później pobawię się z encjami w workbench'u
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.