Cytat(maverickkk @ 2006-04-19 11:13:56)
taisa -> a tam czasem w tabeli 'UZYTKOWNICY' nie ma być 'id_szkola' zamiast 'SZKOLA_id_szkola'

to może ja podam jak wygląda cała baza ( bo do tej pory operowałam jej częścią
CREATE TABLE SZKOLA (
id_szkola INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nazwa VARCHAR(50) NOT NULL,
ulica VARCHAR(50) NOT NULL,
miasto VARCHAR(30) NOT NULL,
PRIMARY KEY(id_szkola)
);
CREATE TABLE UZYTKOWNICY_WYROZNIENI (
id_uzytk_wyr INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
imie VARCHAR(20) NOT NULL,
nazwisko VARCHAR(30) NOT NULL,
login VARCHAR(20) NOT NULL,
haslo VARCHAR(20) NOT NULL,
e_mail VARCHAR(50) NOT NULL,
PRIMARY KEY(id_uzytk_wyr)
);
CREATE TABLE UZYTKOWNICY (
id_student INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL,
imie VARCHAR(20) NOT NULL,
nazwisko VARCHAR(30) NOT NULL,
login VARCHAR(20) NOT NULL,
haslo VARCHAR(20) NOT NULL,
data_ur DATE NOT NULL,
miasto VARCHAR(30) NOT NULL,
wojewodztwo VARCHAR(30) NOT NULL,
e_mail VARCHAR(50) NOT NULL,
data_przystapienia DATE NOT NULL,
zainteresowania VARCHAR(100) NOT NULL,
plec VARCHAR(20) NOT NULL,
PRIMARY KEY(id_student),
FOREIGN KEY(SZKOLA_id_szkola)
REFERENCES SZKOLA(id_szkola)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE SERIA_D (
id_seria_D INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
SERIA_D_id_seria_D INTEGER UNSIGNED NOT NULL,
SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL,
data_seria_D DATE NOT NULL,
godz_seria_D TIME NOT NULL,
seria_D INTEGER(50) NOT NULL,
PRIMARY KEY(id_seria_D),
INDEX SERIA_D_FKIndex1(SZKOLA_id_szkola),
INDEX SERIA_D_FKIndex2(SERIA_D_id_seria_D),
FOREIGN KEY(SZKOLA_id_szkola)
REFERENCES SZKOLA(id_szkola)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(SERIA_D_id_seria_D)
REFERENCES SERIA_D(id_seria_D)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE SERIA_A (
id_seria_A INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL,
data_seria_A DATE NOT NULL,
godz_seria_A TIME NOT NULL,
seria_A INTEGER(50) NOT NULL,
PRIMARY KEY(id_seria_A),
INDEX SERIA_A_FKIndex1(SZKOLA_id_szkola),
FOREIGN KEY(SZKOLA_id_szkola)
REFERENCES SZKOLA(id_szkola)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE SERIA_B (
id_seria_B INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL,
data_seria_B DATE NOT NULL,
godz_seria_B TIME NOT NULL,
seria_B BLOB NOT NULL,
PRIMARY KEY(id_seria_B),
INDEX SERIA_B_FKIndex1(SZKOLA_id_szkola),
FOREIGN KEY(SZKOLA_id_szkola)
REFERENCES SZKOLA(id_szkola)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE SERIA_C (
id_seria_C INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL,
data_seria_C DATE NOT NULL,
godz_seria_C TIME NOT NULL,
seria_C INTEGER(50) NOT NULL,
PRIMARY KEY(id_seria_C),
INDEX SERIA_C_FKIndex1(SZKOLA_id_szkola),
FOREIGN KEY(SZKOLA_id_szkola)
REFERENCES SZKOLA(id_szkola)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE POMIARY (
id_pomiar INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
SERIA_D_id_seria_D INTEGER UNSIGNED NOT NULL,
SERIA_C_id_seria_C INTEGER UNSIGNED NOT NULL,
SERIA_B_id_seria_B INTEGER UNSIGNED NOT NULL,
SERIA_A_id_seria_A INTEGER UNSIGNED NOT NULL,
SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL,
data_pomiaru DATE NOT NULL,
godz_pomiaru TIME NOT NULL,
PRIMARY KEY(id_pomiar),
INDEX POMIARY_FKIndex1(SZKOLA_id_szkola),
INDEX POMIARY_FKIndex2(SERIA_A_id_seria_A),
INDEX POMIARY_FKIndex3(SERIA_B_id_seria_B),
INDEX POMIARY_FKIndex4(SERIA_C_id_seria_C),
INDEX POMIARY_FKIndex5(SERIA_D_id_seria_D),
FOREIGN KEY(SZKOLA_id_szkola)
REFERENCES SZKOLA(id_szkola)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(SERIA_A_id_seria_A)
REFERENCES SERIA_A(id_seria_A)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(SERIA_B_id_seria_B)
REFERENCES SERIA_B(id_seria_B)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(SERIA_C_id_seria_C)
REFERENCES SERIA_C(id_seria_C)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(SERIA_D_id_seria_D)
REFERENCES SERIA_D(id_seria_D)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE WYNIKI (
id_wynik INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
UZYTKOWNICY_id_student INTEGER UNSIGNED NOT NULL,
wynik BLOB NOT NULL,
data_wynik DATE NOT NULL,
godz_wynik TIME NOT NULL,
PRIMARY KEY(id_wynik),
INDEX WYNIKI_FKIndex1(UZYTKOWNICY_id_student),
FOREIGN KEY(UZYTKOWNICY_id_student)
REFERENCES UZYTKOWNICY(id_student)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
baza ta ma być wykorzystana w nastepujący sposób:
na nasz serwer mają napływac dane z detektorów umieszczonych na dachach szkół w moim mieście. Detektory te zliczają gęstośc cząstek promieniowanie kosmiczne padające na okresloną powierzchnię... typ danych A,B,C,D są to różne dane np temperatura, ciśnienie, gęstość...
strona, która powstaje ma za zadanie...rejestrację użytkownika, ma dawać możliwość śiągnięcia przez zalogowanego uzytkownika odpowiednich danych i zapisania ich na lokalnym dysku oraz możliwość przesłania na serwer zmodyfikowanych danych przez uzytkownika
Rozpisałam się troszkę ale tylko po to aby dać obraz tego do czego ta baza ma służyć...