jaka baza danych dla sklepu

0

Jak powinna wyglądać baza danych dla witryny internetowej sklepu sportowego??
Myśląc nad tabelami na razie mam takie:
Klienci(poprzez rejestracje na stronie)
Zamówienia(przechowywane złożone zamówienia)
Opis towaru(opisujący towary z wszystkimi danymi, cena itp)
I tutaj moje pomysły się kończą.
Nie wiem co może jeszcze być potrzebne w tej bazie??
Proszę o jakieś sugestie

0

Opisz co w tym sklepie bedzie, bo sklep sklepowi nierowny. Np. czesc sklepow dzieli towary na kategorie.

0

Mogą się jeszcze przydać np. Producenci sprzętu.
Jeśli będą Zamówienia, to także Pozycje Zamówienia, żeby jakoś łączyć Zamówienia z Towarami.
Sklep zazwyczaj ma chyba jakichś pracowników, którzy mogą przeglądać Zamówienia, więc trzeba mieć i dla nich tabelę chociażby z hasłami.

0
--INTERNETOWY SKLEP MUZYCZNY
--DROP TABLE Recenzje_plyt;
DROP TABLE Pozycje_zamowione;
DROP TABLE Plyty;
DROP TABLE Autorzy;
DROP TABLE Wytwornie;
DROP TABLE Zamowienia;
DROP TABLE Kategorie;
DROP TABLE Pracownicy;
DROP TABLE Klienci;

CREATE TABLE Klienci(
KlientID NUMBER(6) CONSTRAINT klienci_Klient_id_pk PRIMARY KEY,
Imie VARCHAR2(20) CHECK (imie=InitCap(imie)),
Nazwisko VARCHAR2(20) CHECK (nazwisko=InitCap(nazwisko)),
Ulica VARCHAR2(20),
Nr_domu NUMBER(3),
Nr_mieszkania VARCHAR(20),
Miejscowosc VARCHAR2(25),
Kod_pocztowy VARCHAR2(6),
Login VARCHAR2(20),
Haslo VARCHAR2(12)
);

CREATE TABLE Pracownicy( --nowa tabelka
PracownikID NUMBER(6) CONSTRAINT Pracownicy_PracownikID_pk PRIMARY KEY,
Imie VARCHAR2(30) CHECK (imie=InitCap(imie)),
Nazwisko VARCHAR2(30) CHECK (nazwisko=InitCap(nazwisko)),
CzyAdministrator VARCHAR2(3),
DataZatrudnienia DATE,
DataZwolnienia DATE,
Login VARCHAR2(20),
Haslo VARCHAR2(12)
);

CREATE TABLE Kategorie(
KategoriaID NUMBER(6) CONSTRAINT Kategoria_KategoriaID_pk PRIMARY KEY,
nazwa VARCHAR2(20)
);

CREATE TABLE Zamowienia(
ZamowienieID NUMBER(6) CONSTRAINT Zamowienia_ZamowienieID_pk PRIMARY KEY,
KlientID NUMBER(6) CONSTRAINT Zamowienia_Klient_id_fk REFERENCES Klienci(KlientID),
PracownikID NUMBER(6) CONSTRAINT Zamowienia_Pracownik_id_fk REFERENCES Pracownicy(PracownikID), --nowe pole
Wartosc NUMBER(6,2),
Data DATE NOT NULL,
Oplacono DATE,  --nowe pole
Wyslano DATE    --nowe pole
);

CREATE TABLE Autorzy(
AutorID NUMBER(6) CONSTRAINT Autorzy_AutorID_pk PRIMARY KEY,
nazwa VARCHAR2(20) NOT NULL CHECK (nazwa=InitCap(nazwa))
);

CREATE TABLE Wytwornie(
WytworniaID NUMBER(6) CONSTRAINT Wytwornie_WytworniaID_pk PRIMARY KEY,
nazwa VARCHAR2(30) NOT NULL -- CHECK (nazwa=InitCap(nazwa))
);


CREATE TABLE Plyty(
Kod_towarowy NUMBER(13) CONSTRAINT plyty_Kod_towarowy_pk PRIMARY KEY,
KategoriaID NUMBER(6) CONSTRAINT Plyty_KategoriaID_fk REFERENCES Kategorie(KategoriaID),
AutorID NUMBER(6) CONSTRAINT Plyty_AutorID_fk REFERENCES Autorzy(AutorID),
WytworniaID NUMBER(6) CONSTRAINT Plyty_WytworniaID_fk REFERENCES Wytwornie(WytworniaID),
Tytul VARCHAR2(40) CHECK (tytul=InitCap(tytul)),
Cena NUMBER(3) NOT NULL
);


CREATE TABLE Pozycje_zamowione(
ZamowienieID NUMBER(6) CONSTRAINT Poz_zam_ZamowienieID_fk REFERENCES Zamowienia(ZamowienieID),
Kod_towarowy NUMBER(13) CONSTRAINT Poz_zam_Kod_towarowy_fk REFERENCES Plyty(Kod_towarowy),
Ilosc NUMBER(3)
);

--CREATE TABLE Recenzje_plyt(
--Kod_towarowy NUMBER(13) REFERENCES Plyty(Kod_towarowy),
--Recenzja VARCHAR2(350),
--Autor_recenzji VARCHAR2(12) NOT NULL CHECK (Autor_recenzji=InitCap(Autor_recenzji)),
--ocena NUMBER(2) CHECK (ocena BETWEEN 1 AND 10)
--);

PL/SQL pod oracle

DELETE pozycje_zamowione;
DELETE zamowienia;
DELETE pracownicy;
DELETE klienci;

DELETE plyty;
DELETE autorzy;
DELETE wytwornie;
DELETE kategorie;

INSERT INTO Kategorie VALUES (1, 'Pop');
INSERT INTO Kategorie VALUES (2, 'Rock');
INSERT INTO Kategorie VALUES (3, 'Hip-hop');
INSERT INTO Kategorie VALUES (4, 'Klasyczna');
INSERT INTO Kategorie VALUES (5, 'Heavy metal');
INSERT INTO Kategorie VALUES (6, 'Filmowa');
INSERT INTO Kategorie VALUES (7, 'Jazz');
INSERT INTO Kategorie VALUES (8, 'Kabaret');
INSERT INTO Kategorie VALUES (9, 'Poezja śpiewana');
INSERT INTO Kategorie VALUES (10, 'Reggea');


INSERT INTO Autorzy VALUES (1, 'Indios Bravos');
INSERT INTO Autorzy VALUES (2, 'The Police');
INSERT INTO Autorzy VALUES (3, 'Tiger');

INSERT INTO Autorzy VALUES (4,'Anna Maria Jopek');
INSERT INTO Autorzy VALUES (5,'Herbie Hancock');
INSERT INTO Autorzy VALUES (6,'Marcus Miller');

INSERT INTO Autorzy VALUES (7, 'Dire Straits');
INSERT INTO Autorzy VALUES (8, 'John Lennon');
INSERT INTO Autorzy VALUES (9, 'Keane');

INSERT INTO Autorzy VALUES (10, 'Raz, Dwa, Trzy');
INSERT INTO Autorzy VALUES (11, 'Erykah Badu');
INSERT INTO Autorzy VALUES (12, 'James Taylor');

INSERT INTO Autorzy VALUES (13, '50 Cent');
INSERT INTO Autorzy VALUES (14, 'Dr Dre');
INSERT INTO Autorzy VALUES (15, '2 Pac');

INSERT INTO Autorzy VALUES (16,'Andrea Bocelli');
INSERT INTO Autorzy VALUES (17,'Rafał Blechacz');
INSERT INTO Autorzy VALUES (18,'Kwartludium');

INSERT INTO Autorzy VALUES (19,'Slayer');
INSERT INTO Autorzy VALUES (20,'Ozzy Osbourne');
INSERT INTO Autorzy VALUES (21,'Anubis Gate');

INSERT INTO Autorzy VALUES (22, 'Piotr Fronczewski');
INSERT INTO Autorzy VALUES (23, 'Mark Knopfler');
INSERT INTO Autorzy VALUES (24, 'Osvaldo Golijov');

INSERT INTO Autorzy VALUES (25,'Grupa Mocarta');
INSERT INTO Autorzy VALUES (26,'Jan Kaczmarek');
INSERT INTO Autorzy VALUES (27,'Kabaret Ani Mr Mru');

INSERT INTO Autorzy VALUES (28,'Grzegorz Turnau');
INSERT INTO Autorzy VALUES (29,'Jacek Kaczmarski');
INSERT INTO Autorzy VALUES (30,'Kalina Jędrusik');



INSERT INTO Wytwornie VALUES (1, 'Universal Music Group');
INSERT INTO Wytwornie VALUES (2, 'CRS');
INSERT INTO Wytwornie VALUES (3, 'Warner Music Poland');
INSERT INTO Wytwornie VALUES (4, 'Sony BMG');
INSERT INTO Wytwornie VALUES (5, 'EMI Music Poland');
INSERT INTO Wytwornie VALUES (6, '4 Ever Music');
INSERT INTO Wytwornie VALUES (7, 'DUX');
INSERT INTO Wytwornie VALUES (8, 'Locomotive');
INSERT INTO Wytwornie VALUES (9,'Wyższa Szkoła Promocji');
INSERT INTO Wytwornie VALUES (10,'Luna');
INSERT INTO Wytwornie VALUES (11,'Fokus');


--reggea
INSERT INTO Plyty VALUES (130516913,10,2,1,'Every Breath You Take',36.5);
INSERT INTO Plyty VALUES (275027027,10,1,1,'Peace!',28.5);
INSERT INTO Plyty VALUES (317315531,10,3,2,'New Brand Style',48);

--Jazz
INSERT INTO Plyty VALUES (430516943,7,4,1,'Skłamałabym',16.5);
INSERT INTO Plyty VALUES (575027057,7,5,4,'Head Hunters',68.5);
INSERT INTO Plyty VALUES (619315561,7,6,4,'Tales',63);

--Rock
INSERT INTO Plyty VALUES (730516973,2,7,1,'Love Over Gold', 16.5);
INSERT INTO Plyty VALUES (875027087,2,8,4,'Imagine', 67.5);
INSERT INTO Plyty VALUES (917315591,2,9,1,'Live', 36.5);

--Pop
INSERT INTO Plyty VALUES (100516910,1,10,6,'Młynarski', 32);
INSERT INTO Plyty VALUES (115027011,1,11,1,'Baduizm', 31.5);
INSERT INTO Plyty VALUES (122315512,1,12,1,'One Man Band', 73);

--Hip Hop
INSERT INTO Plyty VALUES (131516113,3,13,1,'The Massacre', 31.5);
INSERT INTO Plyty VALUES (141027114,3,14,4,'Death Row Dayz', 70);
INSERT INTO Plyty VALUES (151315115,3,15,1,'Best Of 2 Pac', 54);

--Klasyczna
INSERT INTO Plyty VALUES (161516816,4,16,1,'Vivere - Greatest Hits', 31.5);
INSERT INTO Plyty VALUES (171027817,4,17,1,'Chopin - Complete Preludes', 31.5);
INSERT INTO Plyty VALUES (181315812,4,18,7,'Kwartludium', 28.5);

--Heavy metal
INSERT INTO Plyty VALUES (191516819,5,19,4,'Christ Illusion', 68.5);
INSERT INTO Plyty VALUES (201027820,5,20,4,'Black Rain', 66);
INSERT INTO Plyty VALUES (211315821,5,21,8,'Andromeda Unchained', 52);

--Filmowa
INSERT INTO Plyty VALUES (221516819,6,22,4,'Akademia Pana Kleksa', 23.5);
INSERT INTO Plyty VALUES (231027820,6,23,1,'Cal', 31.5);
INSERT INTO Plyty VALUES (241315821,6,24,1,'Youth Withouth Youth', 54);

--Kabaret
INSERT INTO Plyty VALUES (251516819,8,25,9,'Koncert Jubileuszowy', 39.5);
INSERT INTO Plyty VALUES (261027820,8,26,10,'Serwus Panie Janek', 33);
INSERT INTO Plyty VALUES (271315821,8,27,5,'Numer 1', 24.5);

--Poezja Śpiewana
INSERT INTO Plyty VALUES (281516819,9,28,11,'Kołysanki - Utulanki', 28);
INSERT INTO Plyty VALUES (291027820,9,29,5,'Arka Noego', 365);
INSERT INTO Plyty VALUES (201315821,9,30,1,'Muzyczna Kolekcja', 54);

INSERT INTO pracownicy VALUES (1,'Admin','Administrator','tak', TO_DATE('01-01-2007', 'DD-MM-YYYY'),NULL, 'admin', 'admin');

INSERT INTO Klienci VALUES (1, 'Jan', 'Kowalski', 'Nowa', '56', '2','Warszawa','00-999','user','user');

INSERT INTO Zamowienia VALUES(1,1,1,82, TO_DATE('01-01-2007', 'DD-MM-YYYY'),NULL,NULL);

INSERT INTO Pozycje_zamowione VALUES(1,281516819,1);
INSERT INTO Pozycje_zamowione VALUES(1,201315821,1);

COMMIT;

To było podstawą do mojego projektu z przedmiotu Bazy Danych 2 na <url=PŚK>http://www.tu.kielce.pl/</url> aplikacji w technologii psp oraclowej z racji iż pisane to było niekomercyjnie na licencji GPL to upubliczniam baze i inserty w celach edukacyjnych.

0

to ma byc prosta stronka z artykulami sportowymi.
klienci zamowienia towary opisytowarów
wielkie dzieki za podpowiedzi
usiade troche w domu zobacze jak to bedzie wygladalo

0
tucznik napisał(a)

to ma byc prosta stronka z artykulami sportowymi.
klienci zamowienia towary opisytowarów
wielkie dzieki za podpowiedzi
usiade troche w domu zobacze jak to bedzie wygladalo

To co wkleilem to jest baza dla prostej stronki, która działa i nie ma potrzeby jej "łatania" co 5 min ;)

0

ale jak tą baze teraz polączyć ze stroną??

0

A jakiej technologii uzywasz (silnik bazy, jezyk server-side, framework, itp)?

0

chodzi o to,że chce poprze php załadować tą bazę na stronę,
a pozniej jak klient cos zamowi, to żeby zapisywał do tej bazy dokładnie w tabeli pozycje zamowione.

0

A rozumiesz o co pytam? Juz wiemy, ze uzywasz php (tak, tak, wyobraz sobie, ze nie jest to jedyne mozliwe rozwiazanie). To teraz jeszcze napisz z jakim silnikiem bazy sie laczysz (MySQL to tez nie jedyny silnik na swiecie) oraz czy piszesz w samym php czy moze uzywasz jakiegos frameworka.

PS. Polecam przeczytac pierwszy lepszy kurs php, skoro nie wiesz jak sie laczyc z baza.

1 użytkowników online, w tym zalogowanych: 0, gości: 1