Prośba o pomoc - zadanie |
Prośba o pomoc - zadanie |
21.05.2013, 08:34:42
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.05.2013 Ostrzeżenie: (0%) |
Witam serdecznie! Proszę o pomoc w rozwiązaniu zadania. Najważniejsze, abym zrozumiał niezbędną logikę programowania, i odpowiednie do niej komendy. Zadanie potrzebuję na zaliczenie, na pojutrze.
Z góry dziękuję za wszelką okazaną pomoc. Pozdrawiam. |
|
|
21.05.2013, 10:52:18
Post
#2
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
na tym forum, nie rozwiazujemy prac domowych.
gdybys choc zaproponowal cos od siebie - mozna by bylo dyskutowac o zastosowanych rozwiazaniach. szukaj korepetycji. najlepiej u dobrych fachowcow - jesli ci zalezy na nauce, lub daj komus zlecenie, jesli zalezy ci tylko na zadaniu.... za lenistwo tak czy inaczej, trzeba placic. pozdrawiam, Jacek. Ten post edytował alegorn 21.05.2013, 10:52:55 |
|
|
21.05.2013, 15:22:58
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.05.2013 Ostrzeżenie: (0%) |
Nawet własnymi słowami; samą logikę programowania? Oczywiście, że nie chcę Was wykorzystywać do napisania mi kodu! Chciałbym dostać od Was wstęp - jak byście mogli mi wytłumaczyć "na chłopski rozum" jak to miałoby wyglądać. Np.:
1. zapisanie listy operatorów komórkowych 2. odczytanie kodów doładowań 3. stworzenie wpisów aukcji czy w jakiej kolejności mam to napisać? i w ogóle jakimi funkcjami - może innymi, na skróty... chciałbym mieć to ogarnięte prostymi słowami, abym mógł z nich przejść do kodowania w MySql, czego jeszcze nigdy nie robiłem. Pozdrawiam. |
|
|
21.05.2013, 16:08:37
Post
#4
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) |
Cytat Nawet własnymi słowami; samą logikę programowania? Nie ma sprawy. Najłatwiej będzie to co masz CAPSLOCKIEM przerobić na tabele w bazie danych, a to masz w - kreskach - kreskach bym przerobił na koiumny w tabeli. I jak tak zrobisz to chyba będzie dobrze. Cytat Zadanie potrzebuję na zaliczenie, na pojutrze. (...) abym mógł z nich przejść do kodowania w MySql, czego jeszcze nigdy nie robiłem. ech, studenci Ale pomyśl o tym, że zawsze masz drugi termin, a jak nie to są warunki. Z drugiej strony trochę nie rozumiem. Wiadomo, że na informatyce uczą wielu niepotrzebnych rzeczy, ale to się akurat może przydać w pracy zawodowej, więc nie rozumiem trochę, czemu to olałeś. -------------------- |
|
|
21.05.2013, 16:12:36
Post
#5
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
na początek - kartka i ołówek.
projektujesz bazę danych, musisz zaprojektować wszystkie relacje, encje... nie da się opisać zasad projektowania bazy danych w trzech słowach.. hm..... a może tak. poczytaj o normalizacji (pierwsze 3 postacie na początek), bez tego nie da się zaprojektować żadnej dobrej bazy. na początek musisz potrafić doprowadzić bazę minimum do 2 postaci, trzecia postać nie była by tutaj faux pas. rozpisz na kartce tą bazę, w dalszych zadaniach masz pewne podpowiedzi, co ma się w niej znajdować. tutaj masz trzy podstawowe encje : produkty, kody, aukcje, pola jakie są wymagane masz wymienione.. przeanalizuj i wyodrębnij dodatkowe encje ja np widzę: operator, być może czas doładowania rozpisz na kartce wszystkie pola, jakie do tych encji należą, przeanalizuj relacje jakie zachodzą między nimi. o ile widzę to relacje jakie zachodzą to kody[n]-[1]produkt[n]-[1]aukcje produkty[n]-[1]operator o ile rozumiem zadanie, aukcja jest tutaj uproszczona, i chyba można poprzestać na jednej encji czyli musisz wiedzieć o relacjach jeden do wielu, (wiele do wielu nie zaszkodzi także) zadanie ostatnie - jest zbudowaniem odpowiedniego widoku. jak uporasz się z prawidłowym projektem - będzie on tylko jego konsekwencją (relacji między tabelami). a więc - poczytaj o normalizacji, kartka + ołówek i do dzieła, jak rozpiszesz encje, relacje między nimi, to siadasz do jakiegoś narzędzia którym przeniesiesz to na gotowy kod (jest tego cała masa..). nie musisz znać dokładnych poleceń tworzenia tabel, musisz wiedzieć co chcesz osiągnąć. widokiem chwilowo się nie przejmuj, jeśli zrobisz prawidłowo to co opisałem - bez problemu dasz radę zbudować taki widok pozdrawiam, J. Ten post edytował alegorn 21.05.2013, 16:16:08 |
|
|
22.05.2013, 02:59:25
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.05.2013 Ostrzeżenie: (0%) |
Serdecznie dziękuję za dotychczasową pomoc. W programie MySql Workbench Portable, z pomocą dobrej duszy z Krakowa, stworzyłem taki oto kod: (jeśli komuś się nie chce czytać; niżej są zrzuty z ekranu)
tak wygląda struktura tablic w płaskim widoku: oto moja tablica "KODY": Obrazek 1: ______________________________________________________________________________ Obrazek 2: tablica "PRODUKTY" Obrazek 1: ______________________________________________________________________________ Obrazek 2: nie wiem dlaczego nie mogę ustawić tablicy "KODY" następnego, takiego samego obcego klucza [foreign_key], kierującego do tej samej tabeli, co już użyty w kluczu obcym w "PRODUKTACH". (widać na screenach, dokładniej chodzi o dodanie "id_operatora" do "KODY", który to klucz już zostal użyty w "PRODUKTACH".) no i pytanie zasadnicze - czy jest ok? dodatkowo, załączam oryginalny plik bazy danych do programu: Plik bazy danych do programu MySql Workbench pozdrawiam |
|
|
22.05.2013, 07:09:04
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) |
Nie masz indeksu na polu `operator` w tabeli `kody`. To uniemożliwia dodanie FK
Ten post edytował mmmmmmm 22.05.2013, 07:09:36 |
|
|
22.05.2013, 07:41:57
Post
#8
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.05.2013 Ostrzeżenie: (0%) |
Nie masz indeksu na polu `operator` w tabeli `kody`. To uniemożliwia dodanie FK dziękuję który index wybrać? muszę przyznać, że jestem zdziwiony, bo ten programik sam dodawał wymagane index'y - właśnie np. w przypadku dodawania FK. Ten post edytował wyso1989 22.05.2013, 07:53:35 |
|
|
22.05.2013, 07:54:00
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) |
PRIMARY odpada (bo już masz)
FOREIGN odpada (bo go właśnie chcesz do tego pola założyć) SPATIAL - nie wiem co to - odpada FULLTEXT odpada, bo to liczba UNIQUE - odpada, bo tam chyba nie mają być wartości unikalne. Co więc pozostaje? |
|
|
22.05.2013, 08:25:44
Post
#10
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.05.2013 Ostrzeżenie: (0%) |
tak wyglada po dodaniu index'u:
tak po dodaniu FK: (z zakładki "Foreign Keys") niestety nadal nie mogę nadać tego FK. może przy nadawaniu indexu (obrazek 1) mam zaznaczyć coś z prawej kolumny? próbowałem tam z zaznaczeniem id_operatora, ale też nie pomogło... wracając do meritum: nie wiem dlaczego nie mogę ustawić w tablicy "KODY" następnego, takiego samego obcego klucza [foreign key], kierującego do tej samej tabeli, co już użyty w kluczu obcym w "PRODUKTACH". (widać na screenach, dokładniej chodzi o dodanie "id_operatora" do "KODY", który to klucz już zostal użyty w "PRODUKTACH".) no i pytanie zasadnicze - czy jest ok? dodatkowo, załączam oryginalny plik bazy danych do programu: Plik bazy danych do programu MySql Workbench pozdrawiam Ten post edytował wyso1989 22.05.2013, 09:53:59 |
|
|
22.05.2013, 09:58:23
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) |
Poprawione KODY i DATA:
Prawdopodobnie nie mogłeś dodać, bo miałeś różne typy kolumn (INT vs. INT UNSIGNED) |
|
|
22.05.2013, 16:44:44
Post
#12
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.05.2013 Ostrzeżenie: (0%) |
Zmieniłem id_operatora w kolumnach na Unsigned i już mogłem zaznaczyć FK. BARDZO DZIĘKUJĘ!
w datach_dodania (itp.) chyba powinienem ustawić TIMESTAMP, a nie DATE, jak mam teraz? jaki datatype ustawić do czasu trwania? czas na pytanie finałowe! czy dobrze skonstruowałem bazę do zadania?
jutro mam termin oddania! z widokami już sobie zapewne poradzę. jedynie została mi niepewność w kwestii relacji - jak się je tworzy w MySql Workbench'u? BARDZO PROSZĘ O POMOC! Ten post edytował wyso1989 22.05.2013, 12:57:56 |
|
|
22.05.2013, 16:48:33
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 457 Pomógł: 6297 Dołączył: 27.12.2004 |
1) Przestan odswieżać temat co pół godziny
2) PRZESTAN nadużywać DUZEJ CZCIONKI bo temat zamknę a bardzo bardzo mnie korci. Z innego tematu wiem, że to jest praca na rozmowę kwalifikacyjną więc takie podstawy idąc do roboty znać powinienieś... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.05.2013, 17:24:14
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) |
jutro mam termin oddania! z widokami już sobie zapewne poradzę. jedynie została mi niepewność w kwestii relacji - jak się je tworzy w MySql... relacje definiuje się właśnie przez FK (nieraz niektórzy to pomijają...) by nie usunąć własności niepoprawnie/bezwiednie tam gdzie ta relacja zachodzi, relacje możesz mieć typu 1:1, 1:n, n:n, przy czym w relacjach typu wiele do wielu musisz mieć tablice pomocnicze (relację rozbija się np. na 2 relacje typu jeden do wielu...)... dalej nie potrzebnie piszę, ale może i to Ci potrzebne, rozwinięcie powyższego to (0;1):(0;1), (0;1):(0;n), (0;n):(0;n)... podejrzeć relacje możesz w darmowym phpmyadmin w widoku wizualnym... zresztą choć nie korzystałem to podejrzewam, iż "MySql Workbench" także posiada tryb "wizualny" ps. nazwy tabel nie koniecznie musiały być z dużych liter ;p... tabele odpowiadają jakby klasie (podejście obiektowe), w modelech typu UML to zazwyczaj rzeczowniki, właściwości tego rzeczownika to kolejne kolumny tej tabeli (lub zmienne klasy), pojedynczy wiersz można tłumaczyć jako konkretny rzeczownik z opisanymi właściwościami lub konkretną instancję obiektu utworzoną z danej klasy... idąc drogą co napisałem zamiast 'kody' większość pisze 'kod', własności wieloczłonowe w tabelach dla czytelności rozdziela się z reguły podkreśleniem, więc raczej nikt nie pisze 'idKOD' a raczej 'id_kod' - jeśli to jest w id w danej tablicy wielu pisze w skrócie po prostu 'id', ale możesz pisać dłuższą nazwą 'id_kod' jeśli większość uważa, iż to czytelniejsze, po prostu piszę teraz o kolumnie będącej kluczem głównym... teraz w tabelach gdzie np. masz relację do tablicy 'kod' klucz obcy raczej zapisałbyś przez 'id_kod' czyli prawie tak jak zapisujesz, prawie bo nie 'id_operatora' a 'id_operator'... mając odpowiednie nazwy bez wizualnego rysunku relacji tabel widzi się relację i klucze obce w definicjach tabel o ile zachowuje się wcięcia i formatowanie (no i dlatego też w głównych tabelach zamiast skrótowo pisać 'id' można np. napisać 'id_kod')... to tak tylko niewiele dodałem ale może Ci to jakoś pomoże, gdyż za Ciebie nikt tego nie zrobi... a i jak zauważyłeś tam gdzie chcesz założyć FK musisz mieć dokładnie ten sam typ wartości/komórki/zmiennej (tłumacz se to jak chcesz)... ps. 2 a relacje określa się tam gdzie jest czasownik/akcja np. `kod` należy do `operator`a.... Ten post edytował zegarek84 22.05.2013, 18:04:13 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
22.05.2013, 21:59:36
Post
#15
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.05.2013 Ostrzeżenie: (0%) |
widok, jak w przedstawionej tabeli mam utworzyć jednym poleceniem CREATE VIEW? czy można jakoś połączyć kilka w jeden? szukam, ale w mysql jest tak, ze jak sie szuka jednego, to w wyszukiwarce dostaje się drugie... (komendy sie powtarzaja)
pozdrawiam PS dziękuję za uwagę, nospor; postaram się być bardziej powściągliwym w doborze wielkości czcionki i aktualizacji wątków. |
|
|
22.05.2013, 22:26:18
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) |
widok, jak w przedstawionej tabeli mam utworzyć jednym poleceniem CREATE VIEW? czy można jakoś połączyć kilka w jeden? szukam, ale w mysql jest tak, ze jak sie szuka jednego, to w wyszukiwarce dostaje się drugie... (komendy sie powtarzaja) nie wiem czy mnie pytałeś ale ja pisząc o widokach w kontekście jakim wcześniej wspominałeś czyli czytelnym FK (wizualizacji) nie to miałem na myśli... Widok w DB (Data Base - bazach danych) to nic innego jak wirtualne tabele utworzone z zapytania select nie posiadające indeksów (no może w skrajnych przypadkach i w niektórych bazach po kluczach głównych - aż tak się nie znam ;p) jestem teraz deczko wypity to Ci dam tylko linka do manuala: http://dev.mysql.com/doc/refman/5.0/en/create-view.html zapytanie jest w stylu:
a potem robisz selecta z widoku jakbyś robił z tablicy... prywatnie nie bardzo widzę zastosowanie oprócz czytelności i jeśli nie ma jakichś specjalnych "wirtualnych" indeksów... gdyż dla mnie to zwykłe podzapytanie... choćby dzisiaj dla Ciebie może nie typowy Select a jak są wcięcia to powinien być czytelny i potraktuj jako podzapytanie (select As t1 w skrócie) http://forum.php.pl/index.php?showtopic=21...p;#entry1046753 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 03:54 |