Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z tworzeniem bazy
leni
post 6.01.2014, 13:14:49
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 6.01.2014

Ostrzeżenie: (0%)
-----


Witam,

Jak w temacie muszę zrobić na zaliczenie baze danych napisaną w PostgreSQL lecz nie wiem czy dobrze do tej pory zrobiłem, nie wiem jak nadać klucze PrimaryKEY (PK) oraz Foreign Key (FK) w moich tabelach. Tak wyglada moja baza graficznie:


a tak wyglada kod w PostgreSQL:

DROP TABLE IF EXISTS pracownik, wypozyczenia, klient, pozycje_wypozyczenia, rezerwacje , sprzet, kategorie CASCADE;

CREATE SEQUENCE s_pracownika INCREMENT BY 1 MAXVALUE 999 START WITH 100 NO CYCLE;
CREATE SEQUENCE s_wypozyczenia INCREMENT BY 1 MAXVALUE 10 START WITH 1 NO CYCLE;
CREATE SEQUENCE s_klient INCREMENT BY 1 MAXVALUE 9999 START WITH 1000 NO CYCLE;
CREATE SEQUENCE s_pozycje_wypozyczenia INCREMENT BY 1 MAXVALUE 10 START WITH 1 NO CYCLE;
CREATE SEQUENCE s_rezerwacje INCREMENT BY 1 MAXVALUE 999 START WITH 100 NO CYCLE;
CREATE SEQUENCE s_sprzet INCREMENT BY 1 MAXVALUE 10 START WITH 1 NO CYCLE;
CREATE SEQUENCE s_kategorie INCREMENT BY 1 MAXVALUE 10 START WITH 1 NO CYCLE;

CREATE TABLE pracownik(
id_pracownika INT4 not null default nextval('s_pracownika') PRIMARY KEY,
imie VARCHAR(20) NOT NULL,
nazwisko VARCHAR(25) NOT NULL,
data_zatrudnienia DATE NOT NULL,
nr_telefonu VARCHAR NOT NULL,
);

CREATE TABLE wypozyczenia(
id_wypozyczenia INT4 not null default nextval('s_wypozyczenia') PRIMARY KEY,
id int4 not null default nextval('id_klienta') FOREIGN KEY,
id int4 not null default nextval('id_pracownika') FOREIGN KEY,
data_wypozyczenia DATETIME NOT NULL,
data_oddania DATETIME NOT NULL,
wartosc_brutto DECIMAL NOT NULL,
);
CREATE TABLE klient(
id_klient INT4 not null default nextval('s_klient') PRIMARY KEY,
imie VARCHAR(20) NOT NULL,
nazwisko VARCHAR(25) NOT NULL,
firma VARCHAR NOT NULL
ulica VARCHAR NOT NULL,
numer VARCHAR NOT NULL,
miasto VARCHAR NOT NULL,
kod VARCHAR NOT NULL,
NIP: CHAR(11) NOT NULL,
nr_telefonu INTEGER NOT NULL,
);
CREATE TABLE pozycje_wypozyczenia(
id_pozycje-wypozyczenia INT4 not null default nextval('s_pozycje_wypozyczenia') PRIMARY KEY,
id int4 not null default nextval('id_sprzetu') FOREIGN KEY,
id int4 not null default nextval('id_wypozyczenia') FOREIGN KEY,
ilosc_sztuk INTEGER,
rabat DECIAML,
);
CREATE TABLE rezerwacje(
id_rezerwacje INT4 not null default nextval('s_rezerwacje') PRIMARY KEY,
id int4 not null default nextval('id_klienta') FOREIGN KEY,
id int4 not null default nextval('id_sprzetu') FOREIGN KEY,
ilosc INTEGER,
data_rezerwacji DATETIME NOT NULL,
dni INTEGER,
);
CREATE TABLE sprzet(
id_sprzet INT4 not null default nextval('s_sprzet') PRIMARY KEY,
id int4 not null default nextval('id_kategorii') FOREIGN KEY,
nazwa VARCHAR NOT NULL,
kolor VARCHAR NOT NULL,
kaucja DECIMAL,
cena_jednostkowa DECIMAL,
dostepna_ilosc INTEGER NOT NULL,
);
CREATE TABLE kategorie(
id_kategorie INT4 not null default nextval('s_kategorie') PRIMARY KEY,
nazwa_KATEGORII VARCHAR NOT NULL,
opis VARCHAR,
);


Za każda pomoc serdecznie dziekuje.

Ten post edytował leni 6.01.2014, 14:45:12
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 06:56