1.Do kazdego ogloszenia będą mogly byc dodane do 3 obrazków, na stronie bedą wyswietlane miniaturki z linkiem do nich. jak sie takie rzeczy umieszcza ? czy obrazki i ich miniaturki warto trzymac w bazie czy raczej na koncie www? to wazne dla mnie bo od tego zalezy ile bym potrzebował na baze a ile na konto www, ewentualne obrazki będą zajmowac sporo miejsca w porownaniu do ogloszen.
2. W ksiazce na ktorej wzorowalem te tabele był podobny przyklad, czesto tam bylo w tabelach pole deleted, np w kategoriach, po co ? czemu poprostu nie skasowac
Kod
CREATE TABLE Uzytkownicy
(
uzytk_id int not null,
uzytk_login varchar(30) not null,
uzytk_haslo varchar(30) not_null,
uzytk_imie varchar(30)
uzytk_nazwisko varchar(30)
uzytk_gg int(10)
uzytk_telstac varchar(18)
uzytk_telkom varchar(15)
uzytk_email varchar(50) not null,
uzytk_data datetime not null,
uzytk_adres varchar(100),
primary key ( uzytk_id ),
index( uzytk_id);
);
CREATE TABLE Kategorie
(
kat_id int not null,
kat_nazwa varchar(20) not null,
kat_data datetime not null,
kat_deleted tinyint default 0 not null,
primary key ( kat_id),
index( kat_id )
);
CREATE TABLE PodKategorie
(
podkat_id int not null,
podkat_nazwa varchar(30) not null,
podkat_kat_id int not null,
podkat_data datetime not null
primary key (podkat_id, kat_id ),
index ( podkat_nazwa )
}
CREATE TABLE Ogloszenia {
oglosz_id int not null,
oglosz_kat_id int not null,
oglosz_podkat_id int not null,
oglosz_uzytk_id int not_null,
oglosz_tresc text(1000) not_null,
oglosz_cena float(6,2) not_null,
oglosz_obrazek tinyint default 0 not null, //0 nie ma obrazka,
//1,2,3 ilosc obrazków
oglosz_data datetime not null,
primary key ( oglosz_id, oglosz_kat_id ),
index( oglosz_data )
);
CREATE TABLE Obrazki
{
obr_id int not null,
obr_oglosz_id int not_null,
obr_dane blob not_null,
obr_x tinyint not_null,
obr_y tinyint not_null,
obr_typ int(15) not_null,
obr_min_dane blob not_null,
obr_min_x tinyint not_null,
obr_min_y tinyint not_null,
primary key ( obr_id),
}
CREATE TABLE AktywacjeOgloszen //aktywacje ogłoszen
{
akt_ogl_id int not_null,
akt_ogl_klucz int not_null,
akt_ogl_data datetime not_null
}
CREATE TABLE AktywacjeKont //aktywacje ogłoszen
{
akt_konto_id int not_null,
akt_konto_klucz int not_null,
akt_konto_data datetime not_null
}
(
uzytk_id int not null,
uzytk_login varchar(30) not null,
uzytk_haslo varchar(30) not_null,
uzytk_imie varchar(30)
uzytk_nazwisko varchar(30)
uzytk_gg int(10)
uzytk_telstac varchar(18)
uzytk_telkom varchar(15)
uzytk_email varchar(50) not null,
uzytk_data datetime not null,
uzytk_adres varchar(100),
primary key ( uzytk_id ),
index( uzytk_id);
);
CREATE TABLE Kategorie
(
kat_id int not null,
kat_nazwa varchar(20) not null,
kat_data datetime not null,
kat_deleted tinyint default 0 not null,
primary key ( kat_id),
index( kat_id )
);
CREATE TABLE PodKategorie
(
podkat_id int not null,
podkat_nazwa varchar(30) not null,
podkat_kat_id int not null,
podkat_data datetime not null
primary key (podkat_id, kat_id ),
index ( podkat_nazwa )
}
CREATE TABLE Ogloszenia {
oglosz_id int not null,
oglosz_kat_id int not null,
oglosz_podkat_id int not null,
oglosz_uzytk_id int not_null,
oglosz_tresc text(1000) not_null,
oglosz_cena float(6,2) not_null,
oglosz_obrazek tinyint default 0 not null, //0 nie ma obrazka,
//1,2,3 ilosc obrazków
oglosz_data datetime not null,
primary key ( oglosz_id, oglosz_kat_id ),
index( oglosz_data )
);
CREATE TABLE Obrazki
{
obr_id int not null,
obr_oglosz_id int not_null,
obr_dane blob not_null,
obr_x tinyint not_null,
obr_y tinyint not_null,
obr_typ int(15) not_null,
obr_min_dane blob not_null,
obr_min_x tinyint not_null,
obr_min_y tinyint not_null,
primary key ( obr_id),
}
CREATE TABLE AktywacjeOgloszen //aktywacje ogłoszen
{
akt_ogl_id int not_null,
akt_ogl_klucz int not_null,
akt_ogl_data datetime not_null
}
CREATE TABLE AktywacjeKont //aktywacje ogłoszen
{
akt_konto_id int not_null,
akt_konto_klucz int not_null,
akt_konto_data datetime not_null
}