SRBmartin / School-Library

Пројекат ,,Школска библиотека" пројектна недеља 2021
0 stars 0 forks source link

Дефиниција табела за базу података #3

Open SRBmartin opened 3 years ago

SRBmartin commented 3 years ago

Табела: inf

CREATE TABLE inf(
  title varchar(64) NOT NULL,
  header_carousel_number TINYINT NOT NULL DEFAULT(0),
  max_citat_upload tinyint NOT NULL DEFAULT 0,
  max_citat_report tinyint NOT NULL DEFAULT 5,
  max_citat_edit_queue smallint NOT NULL DEFAULT 100,
  max_citat_edit_daily tinyint NOT NULL DEFAULT 5
);

Табела: korisnici

CREATE TABLE korisnici(
    id integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
    email varchar(128) NOT NULL,
    ime varchar(64) NOT NULL,
    prezime varchar(64) NOT NULL,
    korisnicko_ime varchar(32) NOT NULL,
    sifra varchar(64) NOT NULL,
    salt varchar(32) NOT NULL,
    datum_registracije date NOT NULL,
    verifikovan varchar(1) NOT NULL,
    ssid varchar(32) NOT NULL
);

Табела: ver

CREATE TABLE ver(
    id int NOT NULL,
    vkey varchar(32) NOT NULL
);

Табела: forgot_pass

CREATE TABLE forgot_pass(
    id int NOT NULL,
    fkey varchar(32) NOT NULL,
    auth varchar(32) NOT NULL,
    datum_isteka varchar(64) NOT NULL
)

Табела: autori

CREATE TABLE autori(
    id int PRIMARY KEY NOT NULL AUTO_INCREMENT,
    ime varchar(128) NOT NULL,
    prezime varchar(128) NOT NULL,
    datum_rodjenja varchar(64) NOT NULL,
    datun_srmti varchar(64) NOT NULL,
    drzava_rodjenja tinyint NOT NULL,
    drzava_smrti tinyint NOT NULL
);

Табела: drzave

CREATE TABLE drzave(
    id tinyint PRIMARY KEY NOT NULL AUTO_INCREMENT,
    naziv varchar(64) NOT NULL
);

Табела: knjiz_rodovi

CREATE TABLE knjiz_rodovi(
    id_autora int NOT NULL,
    zanr varchar(1) NOT NULL
);

Табела: citati

CREATE TABLE citati(
    id int PRIMARY KEY NOT NULL AUTO_INCREMENT,
        dodaoID int NOT NULL,
        autorID int NOT NULL,
        datum_dodavanja varchar(16) NOT NULL,
        citat text NOT NULL,
        status varchar(1) NOT NULL DEFAULT 'c',
        promenio_status int NOT NULL DEFAULT -1,
        vreme_promene varchar(32) NOT NULL DEFAULT ''
)

status - 'c' на чекању; 'p' прихваћен; 'o' одбијен

Табела: prijave_citati

CREATE TABLE prijave_citati(
    id int PRIMARY KEY NOT NULL AUTO_INCREMENT,
    prijavio_id int NOT NULL,
        prijavljen_id int NOT NULL,
        citat_id int NOT NULL,
        tekst_prijave varchar(600) NOT NULL,
        vreme_prijave varchar(32) NOT NULL,
        odgovorio_id int NOT NULL DEFAULT -1,
        odgovor_tekst varchar(600) NOT NULL DEFAULT '',
        vreme_odgovora varchar(32) NOT NULL DEFAULT '',
        status varchar(2) NOT NULL DEFAULT 'c'
);

status -> 'c' = на чекању; 'p' = прихваћена; 'o' = одбијена

Табела: urednici

CREATE TABLE urednici(
    id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
    id_korisnika int NOT NULL,
    vreme_promovisanja varchar(32) NOT NULL,
    promovisao_id int NOT NULL,
    nivo tinyint NOT NULL DEFAULT 1,
    vreme_odjave varchar(32) NOT NULL DEFAULT '',
    id_potvrdio_odjavu int NOT NULL DEFAULT -1,
    status varchar(2) NOT NULL DEFAULT 'a',
    komentar_akcije varchar(200) NOT NULL DEFAULT '',
    akcija varchar(2) NOT NULL DEFAULT 'p'
);

status: a -> активан; n -> неактиван; akcija: p -> промовисање (↑); d -> унижавање нивоа (↓); r -> скидање нивоа на 0 (-)

Табела: izmene_citati

CREATE TABLE izmene_citati(
    id int PRIMARY KEY NOT NULL AUTO_INCREMENT,
    izmenio_id int NOT NULL,
    citat_id int NOT NULL,
    staro_stanje varchar(600) NOT NULL,
    novo_stanje varchar(600) NOT NULL,
    komentar varchar(200) NOT NULL,
    vreme_izmene varchar(32) NOT NULL,
    odgovorio_id int NOT NULL DEFAULT -1,
    odgovor_tekst varchar(600) NOT NULL DEFAULT '',
    vreme_odgovora varchar(32) NOT NULL,
    status_c varchar(2) NOT NULL DEFAULT 'c',
    status_a varchar(2) NOT NULL DEFAULT 'a'
);

status_c: c -> на чекању; p -> прихваћена; o -> одбијена status_a: a -> активна; n -> неактивна

jasminaS80 commented 3 years ago

za sta ti je tabela inf?

SRBmartin commented 3 years ago

za sta ti je tabela inf?

Тамо ће бити основне информације везане за сајт, имаће само један ред и у том реду све везано за сајт, колоне ће се додавати по потреби.