• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

relacyjna baza danych sprawdzenie

Object Storage Arubacloud
0 głosów
195 wizyt
pytanie zadane 16 września 2023 w SQL, bazy danych przez martinez369 Początkujący (460 p.)

Cześć chciałbym żeb mi ktoś sprawdził moją pracę z diagramem oto treść zadania:,,W relacyjnej bazie danych chcemy przechować dane pracowników: jednoznaczny identyfikator,
unikalny numer służbowy, nazwisko, imię, datę urodzenia, dla pracowników nieetatowych –
dodatkowo liczbę wypracowanych godzin i stawkę za godzinę, a dla pracowników etatowych
dodatkowo datę zatrudnienia, pensję i opcjonalny dodatek. W bazie danych chcemy trzymać informacje także o:
- stanowiskach, na których pracują pracownicy (jednoznaczny identyfikator, nazwa, opis),
- jednostkach organizacyjnych firmy (krócej: jednostkach), w których pracują pracownicy
(jednoznaczny identyfikator, nazwa, adres) i ich jednostkach nadrzędnych,
- szefach poszczególnych jednostek,
- telefonach pracowników (jednoznaczny identyfikator, numer, typ (prywatny, służbowy)),
- szkoleniach (jednoznaczny identyfikator, nazwa, opis, liczba godzin) i o tym, który
z pracowników brał udział w którym szkoleniu i czy otrzymał certyfikat ukończenia szkolenia (jeśli
brał w nim udział),
- sprawozdaniach finansowych sporządzanych przez jednostki firmy (data wykonania
sprawozdania, link do pliku z treścią).
W poniższych założeniach samo słowo pracownik oznacza pracownika dowolnego rodzaju
(nieważne czy etatowego czy nieetatowego).
Zakładamy, że:
- każdy pracownik pracuje na dokładnie jednym stanowisku, stanowisko może być przypisane
wielu pracownikom,
- każdy pracownik może mieć wiele telefonów, dany telefon jest przypisany do dokładnie jednego
pracownika,
- każdy pracownik pracuje w dokładnie jednej jednostce firmy, w jednostce może pracować wielu
pracowników,
- każdy pracownik może brać udział w wielu szkoleniach, w każdym co najwyżej raz, w szkoleniu
może brać udział wielu pracowników, jeśli pracownik uczestniczył w szkoleniu to mógł (po
spełnieniu pewnych warunków) otrzymać certyfikat ukończenia szkolenia – chcemy w bazie
danych zapamiętać informację czy pracownik taki certyfikat z danego szkolenia otrzymał (jeśli
w ogóle brał w nim udział),
- każda jednostka może mieć co najwyżej jedną jednostkę nadrzędną, dana jednostka może być
nadrzędną dla wielu jednostek,
- każda jednostka może sporządzać wiele sprawozdań, dane sprawozdanie jest utworzone przez
dokładnie jedną jednostkę, sprawozdanie jest jednoznacznie wyznaczane przez informację o tym,
która jednostka go sporządziła oraz przez datę jego sporządzenia.
Ponadto każda jednostka może mieć co najwyżej jednego szefa (pewnego pracownika etatowego).
Każdy pracownik etatowy może być szefem co najwyżej jednej jednostki firmy.
Dorysuj dalszą część diagramu logicznego pozwalającą na przechowanie tych informacji. Zastosuj
notację Barkera. Uzyskana baza ma być w trzeciej postaci normalnej. Rozpisz związki typu wiele
do wielu (jeśli takie istnieją na diagramie). mój diagram wygląda tak:

Pytanie czy jest ona dobrze zrobiona??

komentarz 17 września 2023 przez Velta Maniak (52,370 p.)

Do diagramów użyj draw.io albo DBML – będzie znacznie wygodniej.

komentarz 17 września 2023 przez Wiciorny Ekspert (270,230 p.)

@martinez369, przydala by sie legenda relacji, bo nie rozumiem co to za oznaczenia 

komentarz 19 września 2023 przez tkz Nałogowiec (42,000 p.)
Kurzej stopki, najpopularniejsze(subiektywnie).

Do OPa. Generalnie nie są to relacje. Brakuje najważniejszej rzeczy, a mianowicie klucza obcego. Nie ma też czegoś takiego jak tabela w tabeli, bynajmniej nie na ERD. Same relacje też są od czapy. Pracownik MUSI mieć co najmniej jedno szkolenie? A szkolenie należy do jednego pracownika? Tak jak kumam jedno stanowisko per głowa, to szkolenia są imo bez sensu. Dlaczego jednostka "należy" do jednostki? Dlaczego ma jakąś podwójną relację do "pracownicy"? Sprawozdanie nie ma klucza, błąd.  Oprócz (U) unikatowych wartości bazy posiadają też te wymagane, nie wiem dlaczego masz unique, a nie masz not null. Same nazwy też są mierne. Raz liczba mnoga, raz pojedyncza.

Tak tylko dodam, że polecenia nie czytałem, za dużo tekstu. Uwagi na podstawie samego diagramu.
komentarz 20 września 2023 przez martinez369 Początkujący (460 p.)

poprawiłem co nie co czy teraz jest dobrze??

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 305 wizyt
pytanie zadane 17 lutego 2021 w SQL, bazy danych przez icytower Bywalec (2,110 p.)
0 głosów
1 odpowiedź 147 wizyt
pytanie zadane 6 czerwca 2018 w SQL, bazy danych przez Adrian Paź Obywatel (1,270 p.)
+1 głos
3 odpowiedzi 218 wizyt
pytanie zadane 5 czerwca 2018 w SQL, bazy danych przez Adrian Paź Obywatel (1,270 p.)

92,584 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,967 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...