Forum CDRinfo.pl

Forum CDRinfo.pl (https://forum.cdrinfo.pl/)
-   Off topic (https://forum.cdrinfo.pl/f5/)
-   -   Prośba o pomoc z zadaniem z Access'a (https://forum.cdrinfo.pl/f5/prosba-o-pomoc-zadaniem-accessa-91723/)

Pagerus 05.12.2012 17:29

Prośba o pomoc z zadaniem z Access'a
 
Ilość załączników: 1
Witam! Czy ktoś z Was zna się na Accessie? Chodzi konkretnie o generowanie znormalizowanych tabel.
Mam do rozwiązania ćwiczenie nr 2 z załączonego pliku. Byłbym bardzo wdzięczny za pomoc :-)))
Z góry dziękuję i pozdrawiam :-)

Patrix 05.12.2012 17:53

Kurdę trzy pierwsze postaci normalne powinieneś znać na blache :P Leń!

[STUDENT]
NrStudenta <int, PK, NN, AI>
NazwiskoStudenta <varchar(50)>

[PRACOWNIK]
NrPrac <int, PK, NN, AI>
NazwPrac <varchar(50)>

[PRZEDMIOT]
NrPrzedmiotu <int, PK, NN, AI>
NazwaPrzedmiotu <varchar(50)>

[OSIAGNIECIA]
NrStudenta <int FK, NN>
NrPrac <int FK, NN>
NrPrzedmiotu <int FK, NN>
Ocena <real>
TypOceny <varchar(10)>

Za zadanie masz sprawdzić, która to postać normalna :P

Pagerus 05.12.2012 17:55

Wybacz ale ja dopiero się tego uczę :P Tak więc nie mam bladego pojęcia co Ty tam wrzuciłeś w te nawiasy kwadratowe :/ Ogólnie ma mi wyjść drzewko relacji. No i te relacje muszę powrzucać. I to jeszcze w taki sposób, abym mógł wypełnić dane w arkuszu danych.
Jeszcze raz sorki - ale ja naprawdę dopiero się uczę - a nie bardzo to kumam :/

Patrix 05.12.2012 18:00

No dobra, jak się uczysz to ok, tylko nauczycielowi wstyd powinno być :]

notację przyjąłem taką:
int = integer liczba całkowita
varchar(x) = ciąg tekstowy o długości x znaków
PK = primary key, klucz główny
FK = foreign key, klucz obcy
NN = not null - nie może być puste
AI = auto increment czyli za każdym razem n=n+1 dla Nr/Id

To jest drzewko relacji, narysuj to na kartce
i połącz PK z odpowiadającymi FK, mają wyjść relacje 1:N (jeden do wielu)

Pagerus 05.12.2012 18:14

Ilość załączników: 1
Spróbuję to przerzucić na Access'a i zobaczę co mi wyjdzie :-) Ale przyznam, że jesteś wielki :D

A co oznacza <real> przy polu Ocena??

EDIT:
Wyszło mi w sumie coś takiego jak w załączniku.
Tak się tylko zastanawiam czy jestem w stanie uzupełnić tę bazę o dane. Chodzi mi głównie o to, że jak dla mnie to NazwaPrzedmiotu może funkcjonować potrójnie w bazie w zależności od TypOceny - jak E, Lab., Ćw.

Patrix 05.12.2012 18:48

Cytat:

Napisany przez Pagerus (Post 1233028)
A co oznacza <real> przy polu Ocena??

Ale to już jest lenistwo :)
Wpisz w google "typy danych w programowaniu", następnie kliknij w pierwszą pozycję w wynikach.

Bartez 05.12.2012 18:56

Próbowałeś Patrix? Bo ja wpisałem i trzeba się natrudzić, żeby to znaleźć ;)
Swoją drogą, z REAL to chyba jeszcze nigdy nie korzystałem, a trochę już siedzę w różnych bazach danych.

Pagerus, przydatna strona: http://office.microsoft.com/pl-pl/ac...001231504.aspx

Pagerus 05.12.2012 18:57

No ja niestety dopiero się tego uczę. Już jakoś lepiej wychodzi mi tworzenie kwerend niż tych znormalizowanych tabel :/ No i w sumie nie wpisywałem tych wszystkich danych z nawiasów kwadratowych - bo nie mieliśmy tego aż tak szczegółowo omawianego na zajęciach...

Bartez 05.12.2012 19:00

Cytat:

Napisany przez Pagerus (Post 1233028)
A co oznacza <real> przy polu Ocena??

EDIT:
Wyszło mi w sumie coś takiego jak w załączniku.
Tak się tylko zastanawiam czy jestem w stanie uzupełnić tę bazę o dane. Chodzi mi głównie o to, że jak dla mnie to NazwaPrzedmiotu może funkcjonować potrójnie w bazie w zależności od TypOceny - jak E, Lab., Ćw.

Możesz jeszcze dodać jedną tabelę Ocena_Typ i tak samo ją zlinkować. Następnie robisz formularz z rozwijalnymi listami z zawartościa z tych tabel dla wszystkich pól (poza oceną) + pole dla oceny i voila.

Patrix 05.12.2012 19:02

Ilość załączników: 2
Cytat:

Napisany przez Bartez (Post 1233033)
Próbowałeś Patrix? Bo ja wpisałem i trzeba się natrudzić, żeby to znaleźć ;)

Tak!:)
Jeśli widzisz co innego, to tylko dowód na to, że każdy z nas jest w bańce indywidualnych popozycji wyników...
Załącznik 60848

Załącznik 60849

Cytat:

Napisany przez Bartez (Post 1233033)
Swoją drogą, z REAL to chyba jeszcze nigdy nie korzystałem, a trochę już siedzę w różnych bazach danych.

Ja może nie w różnych, ale w kilku.
Typ istnieje m. in. w MS SQL: http://msdn.microsoft.com/en-us/library/ms173773.aspx

Pagerus 05.12.2012 19:03

Kurde - chyba jestem zbyt głupi na to wszystko bo nie bardzo rozumiem co masz na myśli... :-( Jakie pola miałyby być w tej dodatkowej tabeli? Formularz z tymi rozwijalnymi listami to już chyba mnie całkiem przerasta. Czuję się jak tuman jakiś normalnie :/

Patrix 05.12.2012 19:05

Cytat:

Napisany przez Bartez (Post 1233035)
Możesz jeszcze dodać jedną tabelę Ocena_Typ i tak samo ją zlinkować. Następnie robisz formularz z rozwijalnymi listami z zawartościa z tych tabel dla wszystkich pól (poza oceną) + pole dla oceny i voila.

Jak tego pomysłu rzeczowo nie obroni to się może belfer przyczepić, a po co a na co :)

[OCENA]
NrOcena <int>
Ocena <real>

{1;1
2;2
3;3.5
4;4}

Cytat:

Napisany przez Pagerus (Post 1233037)
Kurde - chyba jestem zbyt głupi na to wszystko bo nie bardzo rozumiem co masz na myśli... :-( Jakie pola miałyby być w tej dodatkowej tabeli? Formularz z tymi rozwijalnymi listami to już chyba mnie całkiem przerasta. Czuję się jak tuman jakiś normalnie :/

Spokojnie, myślę, że wszystko po kolei!
Nasze posty pewnie wykraczają poza program zajęć, a to o czym piszemy będziesz mieć na następnych kilku...
Jest taka moda, że BD zaczyna się od Accessa, za niedługo poznasz więcej.


Cytat:

Napisany przez Pagerus (Post 1233028)
A co oznacza <real> przy polu Ocena??

EDIT:
Wyszło mi w sumie coś takiego jak w załączniku.
Tak się tylko zastanawiam czy jestem w stanie uzupełnić tę bazę o dane. Chodzi mi głównie o to, że jak dla mnie to NazwaPrzedmiotu może funkcjonować potrójnie w bazie w zależności od TypOceny - jak E, Lab., Ćw.

Powinno się dać...

[OSIAGNIECIA]
{1234;1235;1;5;E
1234;1235;1;4;LAB
1234;1235;1;3;ĆW}

Wszak na każdy przemiot przypada W/ĆW/LAB więc wypada poświęcić każdemu osobny wiersz.

Najpierw uzupełnij słowniki, potem tabele osiągnięcia bo inaczej będziesz oglądał błąd foreign key constraint failed :]

Bartez 05.12.2012 19:12

Ja miałem na myśli typ oceny, czyli E, Ćw, cośtam

[OCENA_TYP]
NrTypu <int>
Nazwa nvarchar(20)

Czyli:

1; Egzamin
2; Ćwiczenia
3; Cośtam

W tej końcowej tabeli, z której wszystko linkujesz masz mieć coś takiego

1; 1; 1; 1; 5

Co oznacza:
Id rekordu; Nr Pracownika, NrStudenta, Typ Oceny, Ocena

Na tym polega normalizacja, że nie masz powtarzających się danych. Co nie zawsze jest dobre, ale to już zupełnie inny temat :)

Edit: Jeszcze Nr Przedmiotu

Pagerus 05.12.2012 19:14

Cytat:

Napisany przez Bartez (Post 1233039)
Ja miałem na myśli typ oceny, czyli E, Ćw, cośtam

[OCENA_TYP]
NrTypu <int>
Nazwa nvarchar(20)

Czyli:

1; Egzamin
2; Ćwiczenia
3; Cośtam

W tej końcowej tabeli, z której wszystko linkujesz masz mieć coś takiego

1; 1; 1; 1; 5

Co oznacza:
Id rekordu; Nr Pracownika, NrStudenta, Typ Oceny, Ocena

Na tym polega normalizacja, że nie masz powtarzających się danych. Co nie zawsze jest dobre, ale to już zupełnie inny temat :)

Edit: Jeszcze Nr Przedmiotu

No ale spytam już jak totalny prostak i nieuk. Jak miałoby wyglądać drzewo z tą dodatkową tabelą? Wybaczcie - ale troszkę mnie podłamuje fakt, że jestem z tego aż tak zielony. Z innych przedmiotów takich problemów nie mam - ale te Bazy Danych to dla mnie jakieś science fiction :/
Zacząłem sobie uzupełniać bazę o dane - ale mam jakiś cholerny problem, że nie mogę wpisać oceny jak 4,5 - bo zaokrągla mi do 4 (próbowałem to jakoś zmienić ale on nic sobie z tego nie robi) - podobnie 3,5 zaokrągla do 4 :/

Bartez 05.12.2012 19:16

Jakie drzewo? :D


Wszystkie czasy w strefie CET. Aktualna godzina: 05:57.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.