baza.txt

(3 KB) Pobierz
Sprawdza³em instrukcje CREATE TABLE.
Moje uwagi:
1. Redundancja:
CREATE TABLE sponsor(
...
id_team NUMBER(6) CONSTRAINT sponsor_fk REFERENCES team(id))
/


CREATE TABLE team_sponsor(
id_team NUMBER(6) CONSTRAINT ts_team_fk REFERENCES team(id_team),
id_sponsor NUMBER(6) CONSTRAINT ts_sponsor_fk REFERENCES sponsor(id_sponsor),
CONSTRAINT ts_pk PRIMARY KEY (id_team, id_sponsor))
/

Sponsor zawiera klucz obcy do teamu i istnieje tabela przejœciowa zawieraj¹ca klucze obce do teamu i sponsora.

2. Co to za tabela student?

3. Po co jest tabela samochód, je¿eli ¿adna inna tabela siê do niej nie odwo³uje.
Chyba w tabeli kierowca_wyscig przyda³by siê klucz obcy do samochód?

4. Po co jest tabela mechanik, je¿eli ¿adna inna tabela siê do niej nie odwo³uje.

5. W tabelach przebieg i kierowca_wyscig s¹ takie same klucze obce:
id_kierowca NUMBER(6) CONSTRAINT kw_kierowca_fk REFERENCES kierowca(id_kierowca),
id_wyscig NUMBER(6) CONSTRAINT kw_wyscig_fk REFERENCES wyscig(id_wyscig),

Mo¿e:
- warto te tabele po³¹czyæ?
lub
- w jednej wprowadziæ klucz obcy do drugiej?

6. Po co jest tabela in¿ynier, je¿eli ¿adna inna tabela siê do niej nie odwo³uje.

7. Proponujê usun¹æ niektóre tabele z informacjami o ludziach,
a zamiast tego dodaæ tabele o rodzajach wyœcigów, torach, itp.
Proszê przemyœleæ ca³oœæ jeszcze raz.


Je¿eli bêd¹ jakieœ w¹tpliwoœci, to proszê przes³aæ diagram jeszcze raz.
--
Mariusz Bedla










CREATE TABLE team(
id NUMBER(6) CONSTRAINT team_pk PRIMARY KEY,
nazwa VARCHAR2(20))
/


CREATE TABLE kierowca(
id NUMBER(6) CONSTRAINT kierowca_pk PRIMARY KEY,
nazwisko VARCHAR2(20),
imie VARCHAR2(20),
umer NUMBER (3),
zarobki NUMBER (7,2),
id_team NUMBER(6) CONSTRAINT kierowca_fk REFERENCES team(id))
/


CREATE TABLE samochod(
id NUMBER(6) CONSTRAINT samochod_pk PRIMARY KEY,
nazwa VARCHAR2(20),
opony VARCHAR2(20),
silnik NUMBER (3,2),
id_team NUMBER(6) CONSTRAINT samochod_fk REFERENCES team(id))
/

CREATE TABLE sponsor(
id NUMBER(6) CONSTRAINT sponsor_pk PRIMARY KEY,
nazwa VARCHAR2(20),
wlasciciel VARCHAR2(20),
budrzet NUMBER (10,2),
id_team NUMBER(6) CONSTRAINT sponsor_fk REFERENCES team(id))
/


CREATE TABLE team_sponsor(
id_team NUMBER(6) CONSTRAINT ts_team_fk REFERENCES team(id_team),
id_sponsor NUMBER(6) CONSTRAINT ts_sponsor_fk REFERENCES sponsor(id_sponsor),
CONSTRAINT ts_pk PRIMARY KEY (id_team, id_sponsor))
/

CREATE TABLE mechanik(
id NUMBER(6) CONSTRAINT mechanik_pk PRIMARY KEY,
nazwisko VARCHAR2(20),
imie VARCHAR2(20),
specjalnosc VARCHAR2(20),
zarobki NUMBER (6,2),
id_team NUMBER(6) CONSTRAINT mechanik_fk REFERENCES team(id))
/

CREATE TABLE wyscig(
id NUMBER(6) CONSTRAINT wyscig_pk PRIMARY KEY,
miejsce VARCHAR2(20),
tor VARCHAR2(20),
czas NUMBER (3,2),
data NUMBER (6))
/

CREATE TABLE student(
id NUMBER(6) CONSTRAINT student_pk PRIMARY KEY,
nazwisko VARCHAR2(20),
imie VARCHAR2(20),
srednia NUMBER (3,2),
id_grupa NUMBER(6) CONSTRAINT student_fk REFERENCES grupa(id))

CREATE TABLE kierowca_wyscig(
id_kierowca NUMBER(6) CONSTRAINT kw_kierowca_fk REFERENCES kierowca(id_kierowca),
id_wyscig NUMBER(6) CONSTRAINT kw_wyscig_fk REFERENCES wyscig(id_wyscig),
CONSTRAINT kw_pk PRIMARY KEY (id_kierowca, id_wyscig))
/

CREATE TABLE przebieg(
id NUMBER(6) CONSTRAINT przebiegPRIMARY KEY,
miejsce VARCHAR2(20),
czas_okrazenia NUMBER (3,2),
pozycja NUMBER (2),
id_wyscig NUMBER(6) CONSTRAINT przebieg_fk REFERENCES wyscig(id),
id_kierowca NUMBER(6) CONSTRAINT przebieg_fk REFERENCES kierowca(id))
/


CREATE TABLE inzynier(
id NUMBER(6) CONSTRAINT inzynier_pk PRIMARY KEY,
nazwisko VARCHAR2(20),
imie VARCHAR2(20),
zarobki NUMBER (7,2),
id_kierowca NUMBER(6) CONSTRAINT inzynier_fk REFERENCES kierowca(id))
/
Zgłoś jeśli naruszono regulamin