Projekt – Bazy danych
Temat: Sekretariat szkoły prywatnej.
Spis treści.
1. Przedstawienie tematu i opis wymagań, założenia własne, ewentualne ograniczenia.
Str. 3
2. Charakterystyka struktur przechowujących dane. Lista tabel.
Str. 4
3. Charakterystyka struktur przechowujących dane. Lista relacji.
Str. 5
4. Schemat powiązań między tabelami.
Str. 6
5. Instrukcje SQL tworzące tabele i powiązania. Tabele.
Str. 7-8
6. Instrukcje SQL tworzące tabele i powiązania. Powiązania.
Str. 9
7. Charakterystyka funkcjonalności projektowanej aplikacji. Widoki.
Str. 10
8. Charakterystyka funkcjonalności projektowanej aplikacji. Funkcje.
Str. 11
9. Charakterystyka funkcjonalności projektowanej aplikacji. Trigger.
Str. 12
Przedstawienie tematu i opis wymagań, założenia własne, ewentualne ograniczenia.
Projekt stworzony został dla sekretariatu szkoły prywatnej. Zawiera bazy najważniejszych danych: dane uczniów, nauczycieli, rodziców. Ponadto obsługuje bazy płatności, realizowania wypłat pracowników oraz historie tych wypłat. W projekcie tym uwzględnione zostały także rodzaje kursów, rozkład zajęć i konsultacji. Prowadzona jest dodatkowo baza ocen uczniów.
Każdy uczeń może uczestniczyć w kilku wybranych kursach. W tabeli ZAJĘCIA zawierają się informacje na jaki kurs zapisał się dany uczeń. W bazie nauczycieli znajdują się dane pracowników zatrudnionych na umowę zlecenie. Każdy z nich obsługuje inny kurs, pracuje na odpowiednich stawkach (50% ceny kursu). W osobnej tabeli rozliczane są wypłaty nauczycieli. Ponadto prowadzi się historię wypłat, która jest uzupełniana automatycznie. Szkoła obsługuje kursy z zakresu przedmiotów ścisłych dla gimnazjalistów i maturzystów. Ceny uzależnione są od poziomu trudności kursu. Zajęcia odbywają się od poniedziałku do piątku w godzinach popołudniowych oraz w soboty w godzinach wcześniejszych. Planowanie zajęć opiera się na dostępności nauczycieli oraz dyspozycji uczniów. Po odbyciu zajęć rodzice ucznia winni są uregulować opłaty, które zapisane są w osobnej tabeli.
Od projektu wymaga się, aby wprowadził odpowiednie uporządkowanie danych, zapewniał prostszą niż dotychczas obsługę oraz ułatwił i przyspieszył pracę sekretariatu.
W projekcie tym zakłada się powiązania między tabelami, które mają za zadanie ułatwienie wyszukiwania informacji we wszystkich tabelach, kiedy wymagane jest przechodzenie między nimi.
Dane bazy mogą być na bieżąco uzupełniane i aktualizowane.
Charakterystyka struktur przechowujących dane.
Lista tabel:
a) Uczeń – zawiera podstawowe dane uczniów
b) Nauczyciel – zawiera podstawowe dane nauczycieli i ID prowadzonego kursu
c) Kontakt – zawiera dane kontaktowe rodziców ucznia
d) Kurs – zawiera ID, nazwę i cenę poszczególnych kursów
e) Zajęcia – mówi o tym, jaki uczeń zapisał się na jaki kurs oraz kiedy się on odbywa
f) Konsultacje – mówi o konsultacjach poszczególnych nauczycieli
g) Oceny – zawiera oceny poszczególnych uczniów
h) Płatności – realizuje system wpłat
i) Wypłaty – realizuje system wypłat
j) Historia_wypłat – przechowuje archiwalne informacje o wypłatach
k) Historia_wpłat – przechowuje archiwalne informacje o wpłatach
Lista relacji:
1. Powiązanie ID ucznia z tabeli Uczeń z:
a) ID ucznia w tabeli Kontakt
b) ID ucznia w tabeli Oceny
c) ID ucznia w tabeli Płatności
d) ID ucznia w tabeli Zajęcia
e) ID ucznia w tabeli Historia_wpłat
2. Powiązanie ID nauczyciela z tabeli Nauczyciel z:
a) ID nauczyciela w tabeli Konsultacje
b) ID nauczyciela w tabeli Wypłaty
c) ID nauczyciela w tabeli Historia_wypłat
3. Powiązanie ID kursu z tabeli Kurs z:
a) ID kursu w tabeli nauczyciel
b) ID kursu w tabeli zajęcia
Schemat powiązań między tabelami.
Instrukcje SQL tworzące tabele i powiązania.
Tabele:
create table dbo.uczen
(U_id int identity,
U_nazwisko varchar(30) not null,
U_imie varchar(30) not null,
U_miejscowosc varchar(30) not null,
constraint klucz1 primary key (U_id)
)
create table dbo.nauczyciel
(N_id int identity,
N_nazwisko varchar(30) not null,
N_imie varchar(30) not null,
N_miejscowosc varchar(30) not null,
N_telefon int,
K_id int not null,
constraint klucz2 primary key (N_id)
create table dbo.kontakt
(U_id int,
U_matka varchar(30) not null,
U_ojciec varchar(30) not null,
U_telefon int,
U_miejscowosc varchar(30) not null
create table dbo.kurs
(K_id int identity,
K_nazwa varchar(30) not null,
K_cena int not null
constraint klucz3 primary key (K_id)
create table dbo.zajecia
(K_id int,
U_id int,
Z_godzina int not null,
Z_dzien varchar(30) not null
create table dbo.konsultacje
(N_id int,
K_godz int not null,
K_dzien varchar(30) not null
create table dbo.oceny
U_ocena int not null
create table...
kasia-hinz