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

relacyjna baza danych sprawdzenie

Aruba Cloud - Virtual Private Server VPS
0 głosów
310 wizyt
pytanie zadane 16 września 2023 w SQL, bazy danych przez martinez369 Użytkownik (520 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,830 p.)

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

komentarz 17 września 2023 przez Wiciorny Ekspert (280,450 p.)

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

komentarz 19 września 2023 przez tkz Nałogowiec (42,020 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 Użytkownik (520 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 423 wizyt
pytanie zadane 17 lutego 2021 w SQL, bazy danych przez icytower Bywalec (2,170 p.)
0 głosów
1 odpowiedź 279 wizyt
pytanie zadane 6 czerwca 2018 w SQL, bazy danych przez Adrian Paź Obywatel (1,270 p.)
+1 głos
3 odpowiedzi 319 wizyt
pytanie zadane 5 czerwca 2018 w SQL, bazy danych przez Adrian Paź Obywatel (1,270 p.)

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,654 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...