Instytut Pojazdów Szynowych Politechniki Krakowskiej al. Jana Pawła II 37, 31-864, Kraków, tel/fax: (+48 12) 628 33 11 |
Laboratorium M82 |
Studia ..................................... I stopnia |
………………………………………………………………………
……………………………………………………………………… Imię, Nazwisko
Nr grupy ....................…….. Zespół ............................. |
LABORATORIUM
z przedmiotu:
BAZY DANYCH
Temat :
Projekt bazy danych
Rejestr pracy pojazdów
( temat szczegółowy)
Data przyjęcia |
|
Ścieżka projektu |
C:\ |
Ocena projektu |
|
Ocena wykonania |
|
Ocena końcowa |
|
Podpis |
|
1) Cel istnienia systemu, charakterystyka przechowywanych danych
Baza zawierać będzie dane dotyczące wykonywanej pracy przez pracowników, wykorzystywane do celów ogólnych zarządzania firmą.
Działania podejmowane w oparciu o dane stanowią pewną część ogólnego zakresu działań firmy i obejmują:
nadzór nad polityką pracy, polityka płac,
kontrola i rozliczanie wykonywanej pracy,
bieżący kontakt z pracownikami,
monitorowanie używanych do pracy pojazdów.
W bazie danych przechowywane będą następujące grupy danych:
dane techniczne pojazdów,
dane osobowe pracowników,
dane dotyczące wykonywanej pracy.
2) Lista i opis danych
Numer ID pracownika - numer pracownika służący do normalizacji w kadrze pracowniczej
Nazwisko - nazwisko pracownika
Imię pierwsze - imię pierwsze pracownika
Imię drugie - imię drugie pracownika
Data urodzenia - data urodzenia pracownika
Płeć - oznaczenie płci pracownika
Tytuł - tytuł grzecznościowy pracownika
Kategorie prawa jazdy - posiadane kategorie prawa jazdy
Pensja - wysokość pensji pracownika
Kod pocztowy - kod pocztowy
Miejscowość - miejsce zamieszkania
Ulica - ulica
Numer domu - numer domu pracownika
Numer mieszkania - numer mieszkania pracownika
Początek pracy — godzina rozpoczęcia pracy
Koniec pracy - godzina zakończenia pracy
Czas pracy — zsumowany czas pracy
Przebieg początkowy - przebieg pojazdu na przed rozpoczęciem pracy
Przebieg końcowy - przebieg pojazdu po wykonaniu pracy
Przebieg wykonany podczas pracy - przebieg wykonany podczas pracy
Data rozpoczęcia pracy - data rozpoczęcia pracy
Data zakończenia pracy - data zakończenia pracy
Zużycie paliwa podczas pracy - ilość paliwa zużyta w czasie wykonanej pracy
Koszt paliwa podczas pracy — koszt zużytego paliwa podczas wykonanej pracy
Numer ID pojazdu - numer pojazdu służący do normalizacji w taborze pojazdów
Marka pojazdu — marka pojazdu
Numer rejestracyjny - numer rejestracyjny pojazdu
Przebieg - całkowity przebieg pojazdu
Norma zużycia paliwa - norma zużycia paliwa dla pojazdu
Numer ID paliwa - numer paliwa służący do identyfikacji w zbiorze
Nazwa paliwa - nazwa paliwa
Cena za litr paliwa - cena za l litr paliwa
Obowiązuje od - od kiedy obowiązuje aktualna cena paliwa
3) Modelowanie danych
4) Modelowanie związków encji
5) Kod SQL tworzący pliki projektowanej bazy danych (wg dialektu SQL dla
InterBase)
CREATE TABLE "PRACOWNIK"
(
"ID_PRACOWNIKA" CHAR(3) NOT NULL,
"NAZWISKO" CHAR(30),
"IMIE_1" CHAR(25),
"IMIE_2" CHAR(25),
"DATA_URODZ" DATE,
"PLEC" CHAR(1),
"TYTUL" CHAR(4),
"KAT_PRAWA_JAZD" CHAR(30),
"PENSJA" NUMERIC(5,2),
"KOD_POCZTOWY" CHAR(6),
"MIEJSCOWOSC" CHAR(30),
"ULICA" CHAR(30),
"NR_DOMU" CHAR(4),
"NR_MIESZKANIA" CHAR(4),
CONSTRAINT "PRACOWNIK_PK" PRIMARY KEY ("ID_PRACOWNIKA")
);
CREATE TABLE "PALIWA"
(
"ID_PALIWA" CHAR(3) NOT NULL,
"NAZWA_PALIWA" CHAR(10),
"CENA_ZA_LITR" NUMERIC(5,2),
"OBOWIAZUJE_OD" DATE,
CONSTRAINT "PALIWA_PK" PRIMARY KEY ("ID_PALIWA")
);
CREATE TABLE "POJAZD"
(
"ID_POJAZDU" CHAR(3) NOT NULL,
"MARKA" CHAR(20),
"NR_REJESTRACJI " CHAR(7),
"PRZEBIEG_CALKOWITY" NUMERIC(7),
"NORMA_ZUZ_PALIWA" NUMERIC(5,2),
"ID_PALIWA" CHAR(3) NOT NULL,
CONSTRAINT "POJAZD_PK" PRIMARY KEY ("ID_POJAZDU"),
CONSTRAINT "POJAZD_PALIWA_FK" FOREIGN KEY("ID_PALIWA") REFERENCES PALIWA ("ID_PALIWA") ON UPDATE NO ACTION ON DELETE NO ACTION
);
CREATE TABLE "PRACA"
(
"NR_REJESTRU" NUMERIC(10) NOT NULL,
"POCZATEK_PRACY" CHAR(5),
"KONIEC_PRACY" CHAR(5),
"CZAS_PRACY" CHAR(5),
"PRZEBIEG_POCZAT " NUMERIC(7),
"PRZEBIEG_KONIEC" NUMERIC(7),
"PRZEBIEG_W_PRACY" NUMERIC(4),
"DATA_ROZP_PRACY" DATE,
"DATA_ZAK_PRACY" DATE,
"ZUZYCIE_PALIWA_W_PRACY" CHAR(3),
"KOSZT_PALIWA" NUMERIC(5,2),
"ID_PRACOWNIKA" CHAR(3),
"ID_POJAZDU" CHAR(3),
CONSTRAINT "PRACA_PK" PRIMARY KEY ("NR_REJESTRU"),
CONSTRAINT "PRACA_PRACOWNIK_FK" FOREIGN KEY("ID_PRACOWNIKA") REFERENCES PRACOWNIK ("ID_PRACOWNIKA") ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "PRACA_POJAZD_FK" FOREIGN KEY("ID_POJAZDU") REFERENCES POJAZD ("ID_POJAZDU") ON UPDATE NO ACTION ON DELETE NO ACTION
);
Uwaga:
Dla studentów studiów niestacjonarnych sporządzenie skryptów tworzących tabele jak w pkt. 5 jest nieobowiązkowe.
Na zajęcia laboratoryjne proszę przygotować, wg pkt. 1- 4 projekt rejestru danych (minimum 2, 3 tabele połączone relacyjnie) dotyczących wybranego fragmentu działalności przedsiębiorstwa transportowego (np. rejestr zużycia paliwa, płynów eksploatacyjnych, części zamiennych, czasu pracy itd.), albo czegoś, co dotyczy Państwa działalności zawodowej.
Przygotowany projekt posłuży do utworzenia tabel podczas zajęć laboratoryjnych. Przy użyciu odpowiednich programów narzędziowych, tabele te będą wstępnie zainicjowane i zostaną wykorzystane podczas tworzenia interfejsu umożliwiającego przeglądanie i edycję danych.
(Przygotowanie przykładu: dr inż. Andrzej Sowa, dr inż. Marek Jedynak,- Politechnika Krakowska
Instytut Pojazdów Szynowych, ©)
Początek_pracy (C5) - godzina rozpoczęcia pracy
Koniec_pracy (CS) - godzina zakończenia pracy
Czas_pracy (C5) - zsumowany czas pracy
Przebieg_poczatkowy (N7) - przebieg pojazdu na przed rozpoczęciem pracy
Przebieg_koncowy (N7) - przebieg pojazdu po wykonaniu pracy
Przebieg_w_pracy (N4) - przebieg wykonany podczas pracy
Data_rozp_pracy (D) - data rozpoczęcia pracy
Data_zak_pracy (D) - data zakończenia pracy
Zuzycie_paliwa_w_pracy (N5.2) - ilość paliwa zużyta w czasie wykonanej pracy
Koszt_paliwa_w_pracy (N5.2) - koszt zużytego paliwa podczas wykonanej pracy
ID_pojazdu (C3) - numer pojazdu w taborze pojazdów
ID_pracownika (C3) - numer pracownika w kadrze pracowniczej
PRACA
Typ numeryczny!
Deklaracja szerokości pola - max. zużycie: 99.99 (dm3 ?) oraz max. koszt: 99.99 (zł?).
A co, gdy będzie więcej??
ID_pracownika (C3) - numeriki projektowanej bazyrów.wa? a? E a: Mezczyzna i zadeklarowanie typu: L (logiczny: True, False) pracownika w kadrze pracowniczej
Nazwisko (C30) - nazwisko pracownika
Imie_pierwsze (C20) - imię pierwsze pracownika
Imie_drugie (C20) - imię drugie pracownika
Data_urodzenia (D) - data urodzenia pracownika
Plec (C1) - oznaczenie płci pracownika
Tytul (C4) - tytuł grzecznościowy pracownika
Kategorie_prawa_jazdy (C30) - posiadane kategorie prawa jazdy
Pensja (N5.2) - wysokość pensji pracownika
Kod_pocztowy (C6) - kod pocztowy
Miejscowosc (C30) - miejsce zamieszkania
Ulica (C30) - ulica
Numer_domu (C4) - numer domu pracownika
Numer_mieszkania (C4) - numer mieszkania pracownika
Czy są aż tak długie imiona?
Szkoda miejsca w przypadku dużych i b.duzych zbiorów…
Jeśli istnieje taka możliwość, to lepiej zadeklarować pole logiczne o nazwie np.: `Mezczyzna`
typu: L (logiczny: True, False)
Baaardzo marne zarobki w tej firmie! (max. 99.99 zł !!!) ☺
PRACOWNIK
ID_pojazdu (C3) - numer pojazdu w taborze pojazdów
Marka_pojazdu (C20) - marka pojazdu
Numer_rejestracyjny (C7) - numer rejestracyjny pojazdu
Przebieg (N7) - całkowity przebieg pojazdu
Norma_zuzycia_paliwa (N5.2) - norma zużycia paliwa dla pojazdu
ID_paliwa (C3) - identyfikator rodzaju paliwa w tabeli PALIWA
… czy istnieją jakieś inne deklaracje rozmiaru pól numerycznych ???
Czyżby bezmyślność?
POJAZD
Zbędna kolumna tabeli
… raczej zbyt małe pole. A co będzie w przypadku dłuższej nazwy paliwa? W tym pliku będzie kilkanaście (kilkadziesiąt) rekordów - dlatego taka oszczędność tu nie ma sensu. Chyba, że tu chodzi o skrót nazwy (symbol) paliwa, ale wtedy - pole zbyt długie.
ID_paliwa (C3) - identyfikator rodzaju paliwa
Nazwa_paliwa (C10) - nazwa paliwa
Cena_za_litr_paliwa (N5.2) - cena za l litr paliwa
Obowiazuje_od (D) - określa datę, od której obowiązuje aktualna cena paliwa
ID_pojazdu (C3) - numer pojazdu w taborze pojazdów
wykonuje
jest używany do wykonania
jest wykonywana za pomocą
Początek pracy
Koniec pracy
Czas pracy
Przebieg początkowy
Przebieg końcowy
Przebieg w pracy
Data rozpoczęcia pracy
Data zakończenia pracy
Zużycie paliwa podczas pracy
Koszt paliwa podczas pracy
ID pojazdu
ID pracownika
PRACA
ID pracownika
Nazwisko
Imię pierwsze
Imię drugie
Data urodzenia
Płeć
Tytuł
Kategorie prawa jazdy
Pensja
Kod pocztowy
Miejscowość
Ulica
Numer domu
Numer mieszkania
PRACOWNIK
ID pojazdu
Marka pojazdu
Numer rejestracyjny
Przebieg
Norma zużycia paliwa
Id paliwa
POJAZD
ID_paliwa
Nazwa_paliwa
Cena
Obow_od
ID_pojazdu
PALIWO
jest wykonywana przez
jest zasilany
zasila
Zbędna kolumna tabeli (pole rekordu)
- powiązania relacyjne tabel
- związki encji
Brak klucza unikalnego (głównego) identyfikującego każdy wiersz tabeli
Wiersze dodane ze względu na uwagi do pkt. 4
PALIWO