Jump to content
Sign in to follow this  
wwosik

Bazy danych

Recommended Posts

Hejo, czy mamy na pokładzie ludzi bardziej poważnie zajmujących się bazami danych? Zwłaszcza z dobrą znajomością SQL Servera i/lub Teradaty?

Share this post


Link to post

Witam.

To ja odswieze temat;)

mam takie oto zapytanie:

 

---------

INSERT INTO `miasta` ( `miasto` , `kod` , `woj` , 'id_country' )

VALUES

('Abramow','21-143','Lubelskie','1'),

('Aleksandrow Kujawski','87-700','Kujawsko-pomorskie','1'),

('Aleksandrow lodzki','95-070','Lodzkie','1'),

('Alwernia','32-566','Malopolskie','1'),

('Andrespol','95-020','Lodzkie','1'),

('Andrychow','34-120','Malopolskie','1'),

('Andrzejewo','07-305','Mazowieckie','1'),

('Annopol','23-235','Lubelskie','1'),

('Antoniew k. Lodzi','95-071','Lodzkie','1'),

('Augustow','16-300','Podlaskie','1');

---------

czy ktos mi jest w stanie powiedziec co tutaj jest zle??

Juz nawet nie bede podawal jaka jest tabela do tego, bo ogolnie to to jest dobrze, ale jednak sie wykrzacz.

 

Jak to przez phpMyAdmin daje, to mam blad:

-------

#1064 - Something is wrong in your syntax obok ''id_country' )

VALUES

('Abramow','21-143','Lubelskie','1'),

(' w linii 1

-------

Jutro sobie napisze w phapie swoje polaczenie z baza i sprobuje zaladowac, zobaczymy co sie stanie:/

ale dziwne jest to ze przez PMA czasami niektre zapytania mi dodaje do bazy, a niektore nie, ktore teoretycznie sie nie roznia niczym poza danymi:/

Nie wiem co sie dzieje, moze ja mam jakies zacmienie, albo cos, ale stracilem na tym duzo czasu dzis i nie udalo sie zrobic:/

Pozdrawiam:)

Share this post


Link to post
A w polu "id_country" jakie są wartości ?? Tekst czy liczby ??

jest ustawione tinyint(3), ale obojetne czy dam z ' ' czy bez to ten sam blad mam:/

jak dodaje dane przez phpMyAdmin, to on wyswietla zapytanie jakie zostalo wyslane do bazy i w nim jest z ' '.

czasami niektore zapytania mi przyjmie, jak wkleje zapytanie jako sql w phpMyAdmin, ale nie wiem od czego to zalezy:/

Jak pisalem jestem juz niezle skolowany bo nie wiem co jest zle, albo w czym jest problem:/

Share this post


Link to post

Masz złe "ptaszki" przy polu id_country. Powinny być `` (znak na lewo od 1), tak jak w pozostałych polach, a nie '' (na prawo od średnika). Słowem:

INSERT INTO `miasta` ( `miasto` , `kod` , `woj` , `id_country` )

Share this post


Link to post

tak zapodam temat pewnego projektu:

--------

1.Zdefiniuj klase odpowiedzialna za komunikacje z baza danych – wykorzystujac standardowe

mechanizmy wbudowane w PHP odpowiedzialne za komunikacje z serwerem MSSQL. Metody zawarte

w klasie powinny zapewniac przemyslana realizacje wszystkich potrzebnych operacji bazodanowych.

(Np. powinna tam byc zdefiniowana metoda „wstaw()” która po wstawieniu rekordu do tabeli

zwracałaby „id” własnie wstawionego rekordu, metoda pobierz() która po wykonaniu zapytania

powinna wstawic wynik zapytania do tablicy asocjacyjnej i w takiej postaci je zwrócic etc..).

2. Zdefiniuj klase podobna do poprzedniej korzystajac z modelu COM oraz obiektów ADO.

3. Zdefiniuj klase podobna do powyższych wykorzystujac mechanizm ODBC

Korzystajac ze zdefiniowanych interface’ów dostepu do bazy danych zrealizuj nastepujaca

funkcjonalnosc aplikacji:

1.Zapewnij użytkownikowi możliwosc zarezerwowania imprezy turystycznej w tym celu zapewnij

możliwosc przegladania oferty twojej firmy turystycznej. Stworzony mechanizm przegladania ofert

powinien umożliwic wyszukiwanie interesujacych ofert biorac pod uwage różne kryteria (okres

wyjazdu, czas pobytu, cena, docelowy kraj/miejscowosc etc..). Użytkownik powinien miec możliwosc

zdefiniowania maksymalnej liczby rekordów widocznych jednoczesnie na stronie. Oczywiscie

informacje pojawiajace sie w wyszukiwarce w okreslonej liczbie na stronach powinny miec charakter

uogólniony i zawierac odnosnik do szczegółowych informacji zwiazanych z konkretna informacja

turystyczna.

2. Aby zarezerwowac/wykupic wybrana impreze turystyczna użytkownik powinien zarejestrowac sie

lub też w przypadku gdy korzysta z naszej oferty po raz kolejny – dokonac autoryzacji w systemie.

Autoryzacje w systemie zaimplementuj w taki sposób aby nie było możliwe nieautoryzowane

wywołanie stron (podajac bezposrednio w przegladarce ich adres) które powinny byc dostepne dopiero

po zalogowaniu do systemu (wykorzystaj tutaj mechanizm zmiennych sesyjnych).

3. Użytkownik po przejsciu autoryzacji ma dostep do historii swoich zakupów (kiedy i z jakich imprez

korzystał, z jakich usług dodatkowych korzystał etc.). Oraz do swoich danych teleadresowych które

może modyfikowac.

Pozostałe wymagania:

1. Strony zaprojektuj i zaimplementuj w taki sposób aby zmiana layout’u była możliwie łatwa i szybka

do wykonania. Np. wszystkie linki, formularze etc. prowadza do tego samego pliku w którym

zdefiniowany jest layout całego serwisu i w którym to pliku w zależnosci od ustawionych zmiennych a

zatem w zależnosci od tego „skad przychodzimy” w odpowiednie miejsca wstawiane sa odpowiednie

informacje. Rozważ wykorzystanie framework’u smarty co zapewni oddzielenie kodu HTML od kodu

PHP.- na co prosze zwrócic szczególna uwage.

2. Komunikacja z baza danych zachodzi wyłacznie poprzez stworzone przez Ciebie wczesniej

klasy/biblioteki. Dla pozostałej czesci aplikacji sposób dostepu do bazy powinien byc przezroczysty.

Zapewnij pełna przenosnosc i konfigurowalnosc aplikacji ze wzgledu na obsługe bazy danych

(parametry połaczenia z baza danych takie jak nazwa hosta, bazy, użytkownik etc. moga pojawic sie w

aplikacji wyłacznie raz w odpowiednim miejscu).

3. Budowany serwis stanowi przede wszystkim warstwe prezentacji - zwróc zatem uwage na

maksymalne wykorzystanie takich mechanizmów serwera bazodanowego jak widoki, trigery, procedury

składowane etc.

4. Zwróc uwage na ergonomicznosc zaproponowanego serwisu z punktu widzenia użytkownika

---------

ile byscie dali czasu na studiach (zaocznych - czyli uwzgledniajac ze studenci pracuja, czyli ze nie caly dzien moga poswiecic na nauke)na taki projekt?? Dodam ze do tego jeszcze nalezy wykorzystac AJAX'a, SMARTY, pasowalo by takze PHP obiektowo (oprocz samegogo SMARTY), nie zaszkodzil by takze PEAR. Na mojej grupie PHP znalo jakies 30% osob.

Zadal bym jeszcze pytanie, na jakim to przedmiocie, ale ze w tym temacie pisze to wszystko jasne:P Bardziej by mi to podchodzilo pod programowanie w internecie niz pod BD.

Share this post


Link to post

Hmm, na wszystko to chyba cały semestra zejdzie. Zadania nie są trudne, w sumie to standardowe problemy wielokrotnie rozpracowywane. Ostatnio takie kompleksowe rozwiązania wychodzą pod postacią frameworków. Masa tego jest. W zasadzie tu o zbudowanie takiego prostego frameworka chodzi.

 

Sam miałem coś takiego na drugim semestrze baz danych. Prowadzący wywalił mnie z zajęć i stwierdził, że mogę nie przychodzić. Teraz, jak razem pracujemy, to sobie te stare czasy przypominamy :)

Share this post


Link to post

No ja tez bym dal to jako prace na caly semestr

Share this post


Link to post

Greg, Elfiszon:

3 (slownie trzy) tygodnie!! i to jest jeden z prostszych projektow w tym semestrze!! reszta bez komentarza:/

Share this post


Link to post
tak zapodam temat pewnego projektu:

--------

1.Zdefiniuj klase odpowiedzialna za komunikacje z baza danych ? wykorzystujac standardowe

mechanizmy wbudowane w PHP odpowiedzialne za komunikacje z serwerem MSSQL. Metody zawarte

w klasie powinny zapewniac przemyslana realizacje wszystkich potrzebnych operacji bazodanowych.

(Np. powinna tam byc zdefiniowana metoda ?wstaw()? która po wstawieniu rekordu do tabeli

zwracałaby ?id? własnie wstawionego rekordu, metoda pobierz() która po wykonaniu zapytania

powinna wstawic wynik zapytania do tablicy asocjacyjnej i w takiej postaci je zwrócic etc..).

Ktoś tu się "zdziebko" zagalopował. Ten zbiór operacji winien być jakoś ograniczony...

Nie wiem, czy DEFINE CURSOR FOR i tak dalej są tu potrzebne.

Niemniej da się zrobić.

 

2. Zdefiniuj klase podobna do poprzedniej korzystajac z modelu COM oraz obiektów ADO.

3. Zdefiniuj klase podobna do powyższych wykorzystujac mechanizm ODBC

Hehe, małe pole do polimorfizmu. :)

ODBC to można szybciorem zrobić. Nad ADO musiałbym pomyśleć,

 

 

Korzystajac ze zdefiniowanych interface?ów dostepu do bazy danych zrealizuj nastepujaca

funkcjonalnosc aplikacji:

1.Zapewnij użytkownikowi możliwosc zarezerwowania imprezy turystycznej w tym celu zapewnij

możliwosc przegladania oferty twojej firmy turystycznej. Stworzony mechanizm przegladania ofert

powinien umożliwic wyszukiwanie interesujacych ofert biorac pod uwage różne kryteria (okres

wyjazdu, czas pobytu, cena, docelowy kraj/miejscowosc etc..). Użytkownik powinien miec możliwosc

zdefiniowania maksymalnej liczby rekordów widocznych jednoczesnie na stronie. Oczywiscie

informacje pojawiajace sie w wyszukiwarce w okreslonej liczbie na stronach powinny miec charakter

uogólniony i zawierac odnosnik do szczegółowych informacji zwiazanych z konkretna informacja

turystyczna.

Banał.

 

2. Aby zarezerwowac/wykupic wybrana impreze turystyczna użytkownik powinien zarejestrowac sie

lub też w przypadku gdy korzysta z naszej oferty po raz kolejny ? dokonac autoryzacji w systemie.

Autoryzacje w systemie zaimplementuj w taki sposób aby nie było możliwe nieautoryzowane

wywołanie stron (podajac bezposrednio w przegladarce ich adres) które powinny byc dostepne dopiero

po zalogowaniu do systemu (wykorzystaj tutaj mechanizm zmiennych sesyjnych).

Banał.

 

3. Użytkownik po przejsciu autoryzacji ma dostep do historii swoich zakupów (kiedy i z jakich imprez

korzystał, z jakich usług dodatkowych korzystał etc.). Oraz do swoich danych teleadresowych które

może modyfikowac.

Banał.

 

Pozostałe wymagania:

1. Strony zaprojektuj i zaimplementuj w taki sposób aby zmiana layout?u była możliwie łatwa i szybka

do wykonania. Np. wszystkie linki, formularze etc. prowadza do tego samego pliku w którym

zdefiniowany jest layout całego serwisu i w którym to pliku w zależnosci od ustawionych zmiennych a

zatem w zależnosci od tego ?skad przychodzimy? w odpowiednie miejsca wstawiane sa odpowiednie

informacje. Rozważ wykorzystanie framework?u smarty co zapewni oddzielenie kodu HTML od kodu

PHP.- na co prosze zwrócic szczególna uwage.

Jak zacząłem czytać pierwsze zdanie, od razu mi przyszedł smarty do głowy :)

 

2. Komunikacja z baza danych zachodzi wyłacznie poprzez stworzone przez Ciebie wczesniej

klasy/biblioteki. Dla pozostałej czesci aplikacji sposób dostepu do bazy powinien byc przezroczysty.

Zapewnij pełna przenosnosc i konfigurowalnosc aplikacji ze wzgledu na obsługe bazy danych

(parametry połaczenia z baza danych takie jak nazwa hosta, bazy, użytkownik etc. moga pojawic sie w

aplikacji wyłacznie raz w odpowiednim miejscu).

Oczywistość

 

3. Budowany serwis stanowi przede wszystkim warstwe prezentacji - zwróc zatem uwage na

maksymalne wykorzystanie takich mechanizmów serwera bazodanowego jak widoki, trigery, procedury

składowane etc.

A to się trochę nie zgadza z poprzednim - widoki owszem, procedury składowane - być może, ale trigery? To prawie na pewno jest trudno przenośne.

 

4. Zwróc uwage na ergonomicznosc zaproponowanego serwisu z punktu widzenia użytkownika

---------

ile byscie dali czasu na studiach (zaocznych - czyli uwzgledniajac ze studenci pracuja, czyli ze nie caly dzien moga poswiecic na nauke)na taki projekt?? Dodam ze do tego jeszcze nalezy wykorzystac AJAX'a, SMARTY, pasowalo by takze PHP obiektowo (oprocz samegogo SMARTY), nie zaszkodzil by takze PEAR. Na mojej grupie PHP znalo jakies 30% osob.

Zadal bym jeszcze pytanie, na jakim to przedmiocie, ale ze w tym temacie pisze to wszystko jasne:P Bardziej by mi to podchodzilo pod programowanie w internecie niz pod BD.

Zależy, czy znasz PHP. Jeśli znasz, to w parę tygodni powinno się dać zrobić.

 

Jak potrzebujesz pomocy, daj znać.

Z tym AJAXem to obowiązek? W czasach, gdy pisałem pod PHPem, jeszcze nie był w modzie i się go nie uczyłem.

Share this post


Link to post

AJAX jest teraz wszedzie - bo ladny, zgrabny, fajny etc.

 

niby to wszystko racja, ale jego wszedobylskosc zaczyna mnie powoli irytowac podobnie jak Web 2.0 :]

Share this post


Link to post

No to mam wlasnie problem z hmmm no wlasnie z czym?

wiec tak:

KOD HTML:

 

<div id="form_kraj"><select name="kraj" size="1" id="form_kraj" onChange="AddForm(1)">

<option value="">dowolny...</option>

<option value="cypr">Cypr</option>

<option value="maroko">Maroko</option>

<option value="tunezja">Tunezja</option>

<option value="egipt">Egipt</option>

<option value="hiszpania">Hiszpania</option>

<option value="portugalia">Portugalia</option>

<option value="wlochy">Wlochy</option>

<option value="turcja">Turcja</option>

<option value="grecja">Grecja</option>

</select></div>

<div id="form_miasto"></div>

 

JS (funkcja AddForm):

 

function AddForm(ile){

var ajaxRequest;

 

ajaxRequest.onreadystatechange = function(){

if(ajaxRequest.readyState == 4){

var form_miasto = document.getElementById("form_miasto");

form_miasto.innerHTML = ajaxRequest.responseText;

 

}

}

 

var queryString = "?form=" + ile ;

 

ajaxRequest.open("GET", "AddForm.php" + queryString, true);

ajaxRequest.send(null);

}

 

no i z tego ma wynikac, ze w pole div z HTML'a o id form_miasto na wpisac to co wygeneruje sie z pliku AddForm.php

 

i jak wybiore cos z listy (lista wklejona na sanej gorze) to powinno miwywolac funkcje AddForm (to fukjca JS) i ona na podstawie tego co wygeneruje php (AddForm.php) zmienia dane w polu <div id="form_miasto">.

Tam jest w php tak ze wyswietla nastepny formularz (z wyborem miasta) i tak sie dzieje, tzn jak wybiore cos z pierwszej listy, to mi wyswietla druga liste. teraz mam 2 listy i niby wszystko jest ok, ale jak wtedy wybiore cos innego z tej pierwszej listy, to... ten drugi formularz (lista) sie pieprzy, rozrasta sie, tzn poszerza i jest pusta:/

Nie wiem, moze cos zle rozumuje, ale jak dla mnie to wywolanie czegos z pierwszej listy powinno powodowac zmiane w polu <div id="form_miasto"> (i tak sie dzieje ze pierwszym wyborem), ale jesli jeszzce raz cos tam wybiore, no to chyba sie dokladnie to samo powinno dziac (czyli to co jest obecnie w tym polu (form_miasto) powinno zostac zmienione - czyli w zasadzie nadal to samo powinno byc, bo na razie niezaleznie co sie z pierwwszej listy wybierze to i tak w drugiej liscie jest to samo - potem to zmienie). Jak to rozwiazac, co tutaj moze byc zle?

JS znam b. slabo, ajaxa no tak ze cos tam mi sie udaje zrobic, php w miare.

W podobnym przypadku, tzn jak sa linki ktore wywoluja fukcje JS, ktore na podstawie php zmieniaja zawartosc elementow strony, jak sie wybierze pare razy pod rzad ten sam link, to nie ma zadnego ubocznego efektu, jak w tym przypadku.

prosze o pomoc, mam nadzieje ze jakos w miare jasno to opisalem, przynajmniej sie staralem.

 

EDIT:

Zrobilem takie sobie sprawdzenie, czy czegos w skladni nie powalilem, ale raczej nie o to chodzi, bo jak uruchamiam funkcje JS AddForm(value) (value to wartosc z listy) i uruchamiam php z ta wartoscia jako argument i go np, wypisuje, to wtedy wypisuje super, tzn po prostu po zmienie wyboru z listy zmienia sie wyswietlany wyraz, czyli zawartosc odpowiedniego pola id) wiec nie wiem czemu to nie chce dzialac jak to wczesniej opisalem:/

 

EDIT2:

zauwazylem ze jesli zapisze sobie ta liste w pliku nie php (np jako sam kod html) i funkcja AddForm.php nie wypisuje tel listy, tylko includuje ją z innego pliku gdzie jest w czystym kogdzie html, to dziala to dobrze! ale jeesli nawet w tym includowanym, kodzie jest php ktore wypiuje ta liste, to znowy dziala zle:/

Nie mam nadal zielonego pojecia co moglem pokrecic i co jest nie tak:/

PS. Oczywiscie kod tej listy nie moze byc w czystym html przechowywany, bo zawartosc tej listy ma byc generowana na podstawie tego co wybrane zostanie z pierwszej listy (ale tego jeszcze nie mam zrobionego)

Share this post


Link to post

Ma ktoś jakiś pomysł jakie z tego mogę stworzyć kwerendy?

 

http://i.imgur.com/Q8MqVd9.png

Wybacz ogólnikowe stwierdzenie, ale widzę, że to na zaliczenie. Nie jest to schemat na piątkę, raczej na słabą trójkę moim zdaniem (o ile nikt nie wymyślił durnie, że akurat w Accesie tak się modeluje :P). Masz polecenie, czy szyjesz z głowy? Mogę później (np. w piątek wieczorem) wytłumaczyć, co wg mnie jest nie tak z tym schematem, chociaż podejrzewam, że czas Cię goni.

 

Tak na szybko. Moim zdaniem niezasadna jest oddzielna tabela na Miasto. Zamodelowałeś też, że dziecko może mieć jednego opiekuna - rzeczywiście tak ma być?

Share this post


Link to post

Taki schemat mi rozrysowała pani dr inż. Tak na zaliczenie, mam czas do 19 czerwca.

 

Chętnie zobaczę Twoją wersję, bo faktycznie tu mi mało co pasuje ;).

 

 

Forma opieki na dzieckiem rozbiłem w tabeli na mamę, tatę, mamę i tatę, opiekuna prawnego.

Share this post


Link to post

Taki schemat mi rozrysowała pani dr inż. Tak na zaliczenie, mam czas do 19 czerwca.

 

Chętnie zobaczę Twoją wersję, bo faktycznie tu mi mało co pasuje ;).

 

 

Forma opieki na dzieckiem rozbiłem w tabeli na mamę, tatę, mamę i tatę, opiekuna prawnego.

Masz jakieś polecenie/specyfikację do tego? :)

Share this post


Link to post

Ma być odwzorowanie dziennika przedszkolnego +:

 

 

- zapytania do bazy (minimum 25 złożonych zapytań i otrzymane wyniki)

- formularze (minimum 5 różnych formularzy)

- raporty z bazy (minimum 5 raportów z opisem, czego dany raport dotyczy)

Share this post


Link to post

Ma być odwzorowanie dziennika przedszkolnego +:

 

 

- zapytania do bazy (minimum 25 złożonych zapytań i otrzymane wyniki)

- formularze (minimum 5 różnych formularzy)

- raporty z bazy (minimum 5 raportów z opisem, czego dany raport dotyczy)

No właśnie chodzi mi o to, co to jest dziennik przedszkolny :] Czy masz opis rzeczywistości, którą masz odwzorować, czy masz sam wymyślić, czy może ma wyniknąć z konsultacji.

 

Nie chcę Ci za dużo namieszać, żeby nie utrudnić zaliczenia, jeśli prowadząca ma taką wizję, jak na schemacie, który wrzuciłeś ;)

Share this post


Link to post
No cóż, nie da się ukryć, że ten schemat jest trochę od czapy :(
1. Relacja Dziecka z Grupą i Grupy z Wychowawcą wygląda ok. Grupa tylko jednego Wychowacę i może do niej należeć wiele dzieci.
2. Relacja Dziecka z Opiekunem jest moim zdaniem zwalona. Z tego schematu wynika, że Dziecko ma jednego Opiekuna. A przecież zasadne by było wpisywać oboje rodziców, a może jeszcze babcię, dziadka, starsze rodzeństwo. W tej strukturze jest to niemożliwe. Ja bym tu widział tabelę pośrednią łączącą Dziecko z Opiekunem, gdzie były id_dziecka i id_opiekuna. Wtedy i jeden Opiekun może mieć wiele Dzieci i jedno Dziecko wielu Opiekunów.
​3. Wyciągnięcia Miasta do oddzielnej tabeli kompletnie nie rozumiem. Jedynym celem było chyba tylko skomplikowanie schematu. Zobacz, że ulica została u Dziecka a Miasto zostało sztucznie wyciągnięte.
4. Powiązanie Dziecka z Wydarzeniem wydaje się jeszcze całkiem spoko. Jest połączone Wydarzenie z Dzieckiem przez tabelę pośrednią. Nie czaję tylko, czemu zawiera ona temat i datę. Data powinna być w Wydarzeniu moim zdaniem.

Co do kwerend. Ciekawym i dość użytecznym zapytaniem byłoby wyciągnięcie wszystkich opiekunów dzieci, których dotyczy konkretne wydarzenie :)

Więcej już chyba nie będę w stanie pomóc. Uprzejmie zakładam, że prowadząca przedstawiła taki schemat, bo się śpieszyła ;)

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...