Atribut
|
Ma'lumot turi
|
PKEY
|
FKEY
|
NOT
NULL
|
UNIQUE
|
Tasnifi
|
Id
|
BIGSERIAL
|
X
|
|
X
|
X
|
Kalit maydon
|
username
|
VARCHAR(15)
|
|
|
X
|
|
Foydalanuvchi
nomi
|
Ism
|
TEXT
|
|
|
X
|
|
Foydalanuvchi
ismi
|
Familiya
|
TEXT
|
|
|
X
|
|
Foydalanuvchi familiyasi
|
Manzil
|
TEXT
|
|
|
X
|
|
Foydalanuvchining yashash yoki ofis manzili
|
Mahsulot_turi
|
VARCHAR(30)
|
|
|
X
|
|
Yetkazib beriladigan mahsulotning turi
|
Shartnoma_muddati
|
VARCHAR(30)
|
|
X
|
X
|
X
|
Tuzilgan shartnomaning tugash muddati
|
Mahsulot jadvali
Ro'yhatga olingan mahsulotlar haqida ma'lumotlarni saqlash uchun jadval.
Atribut
|
Ma'lumot turi
|
PKEY
|
FKEY
|
NOT
NULL
|
UNIQUE
|
Tasnifi
|
id
|
BIGSERIAL
|
X
|
|
X
|
X
|
Kalit maydon
|
Nomi
|
VARCHAR(15)
|
|
|
X
|
|
Mahsulot nomi
|
Turi
|
VARCHAR(15)
|
|
|
X
|
|
Mahsulot turi
|
Yaroqlik_muddati
|
INT
|
|
|
X
|
|
Mahsulotning yaroqlik muddati
|
Narxi
|
INT
|
|
|
X
|
|
Mahsulot narxi haqida ma’lumot
|
yet_ber_id
|
BIGINT
|
|
X
|
X
|
X
|
Mahsulot yetkazib beruvchisi bilan bog’lanish
|
Mijoz jadvali
Mijozlar haqida ma'lumotlarni saqlash uchun jadval.
Atribut
|
Ma'lumot turi
|
PKEY
|
FKEY
|
NOT
NULL
|
UNIQUE
|
Tasnifi
|
Id
|
BIGSERIAL
|
X
|
|
X
|
X
|
Kalit maydon
|
username
|
VARCHAR(15)
|
|
|
X
|
|
Foydalanuvchi
nomi
|
Ism
|
TEXT
|
|
|
X
|
|
Foydalanuvchi
ismi
|
Familiya
|
TEXT
|
|
|
X
|
|
Foydalanuvchi familiyasi
|
Manzil
|
TEXT
|
|
|
X
|
|
Foydalanuvchining yashash yoki ofiz manzili
|
Tulov_shakli
|
VARCHAR(15)
|
|
|
X
|
|
Foydalanuvchi tomonidan amalga oshiriladigan to’lov
Shakli
|
mahsulotlar_id
|
BIGINT
|
|
X
|
X
|
X
|
Foydalanuvchi tomonidan xarid qilingan mahsulot bilan bog’lanish
|
Imtiyozlar jadvali
Doimiy mijozlarga beriladigan imtiyozlar haqida ma'lumotlarni saqlash uchun jadval.
Atribut
|
Ma'lumot turi
|
PKEY
|
FKEY
|
NOT
NULL
|
UNIQUE
|
Tasnifi
|
id
|
BIGSERIAL
|
X
|
|
X
|
X
|
Kalit maydon
|
Nomlanishi
|
VARCHAR (30)
|
|
|
X
|
|
Imtiyozning nomlanishi
|
Turi
|
VARCHAR (30)
|
|
|
X
|
|
Imtiyoz turi (bir martalik, foizi o’suvchi keshbek va h.k.)
|
muddati
|
DATE
|
|
|
X
|
|
Imtiyozning amal qilish muddati
|
Imtiyozli_mahsulot_id
|
BIGINT
|
|
X
|
X
|
X
|
Imtiyozlar amal qiladigan mahsulotlar bilan bog’lanish
|
Doimiy_mijoz jadvali
Ro'yhatga olingan doimiy mijozlar haqida ma'lumotlarni saqlash uchun jadval.
Atribut
|
Ma'lumot turi
|
PKEY
|
FKEY
|
NOT
NULL
|
UNIQUE
|
Tasnifi
|
id
|
BIGSERIAL
|
X
|
|
X
|
X
|
Kalit maydon
|
username
|
VARCHAR(15)
|
|
|
X
|
|
Foydalanuvchi
nomi
|
Ism
|
TEXT
|
|
|
X
|
|
Foydalanuvchi
ismi
|
Familiya
|
TEXT
|
|
|
X
|
|
Foydalanuvchi familiyasi
|
Manzil
|
TEXT
|
|
|
X
|
|
Foydalanuvchi uy maznili
|
Tugilgan_sana
|
DATE
|
|
|
X
|
|
Foydalanuvchi tug’ilgan sanasi
|
Pasport_seriya
|
VARCHAR(9)
|
|
|
|
X
|
Foydalanuvchi passport seriyasi
|
Jinsi
|
TEXT
|
|
|
X
|
|
Foydalanuvchi
Jinsi
|
imtiyoz_id
|
BIGINT
|
|
X
|
X
|
X
|
Foydalanuvchiga berilgan imtiyozlar bilan bog’lanish
|
Mahsulotlar_id
|
BIGINT
|
|
X
|
X
|
X
|
Foydalanuvchi tomonidan xarid qilingan mahsulot bilan bog’lanish
|
Sotuvchi_admin
Ro'yhatga olingan xodimlar haqida ma'lumotlarni saqlash uchun jadval.
Atribut
|
Ma'lumot turi
|
PKEY
|
FKEY
|
NOT
NULL
|
UNIQUE
|
Tasnifi
|
id
|
BIGSERIAL
|
X
|
|
X
|
X
|
Kalit maydon
|
username
|
VARCHAR(15)
|
|
|
X
|
|
Foydalanuvchi
nomi
|
email
|
VARCHAR(30)
|
|
|
X
|
|
Adminning electron pocta manzili
|
Ism
|
TEXT
|
|
|
X
|
|
Foydalanuvchi
ismi
|
Familiya
|
TEXT
|
|
|
X
|
|
Foydalanuvchi familiyasi
|
Manzil
|
TEXT
|
|
|
X
|
|
Foydalanuvchi uy maznili
|
Tugilgan_sana
|
DATE
|
|
|
X
|
|
Foydalanuvchi tug’ilgan sanasi
|
Pasport_seriya
|
VARCHAR(9)
|
|
|
|
X
|
Foydalanuvchi passport seriyasi
|
Jinsi
|
TEXT
|
|
|
X
|
|
Foydalanuvchi
Jinsi
|
Mijoz_id
|
BIGINT
|
|
X
|
X
|
X
|
Sotuvchi xizmat ko’rsatayorgan mijozlar bilan bog’lanish
|
Dmijoz_id
|
BIGINT
|
|
X
|
X
|
X
|
Sotuvchi xizmat ko’rsatayorgan doimiy mijozlar bilan bog’lanish
|
Izohlar
Atribut-maydonning nomi.
Ma'lumot turi-maydonning yozuvining ma'lumoti turi.
PKEY-birlamchi kalitli maydon.
FKEY-ikkilamchi kalitli maydon.
NOT NULL-maydonni qiymati bo'sh yoki bo'sh bo'lmasligi ko'rsatiladi.
UNIQUE-maydonning yozuvlari unikal, ya'ni maydonning yozuvlarida bir xil yozuvlar bo'lmasligi ko'rsatish uchun.
Tasnifi-maydon atributi haqida tasnif beriladi
Onlayn do’kon ma'lumotlar bazasini SQL tili yordamida yaratish
Yuqorida keltirilgan ma'lumotlar infologik va datalogik modellar asosida real ma'lumotlar bazasini PostgreSQL ma'lumotlar bazasini boshqarish tizimida yaratishni qaraymiz. Quyida jadvalarni yaratish SQL tili orqali berilgan.
CREATE DATABASE Onlayn_dukon;
\c onlayn_dukon
CREATE TABLE Yetkazib_beruvchi(
id BIGSERIAL NOT NULL PRIMARY KEY,
username VARCHAR(15) NOT NULL,
Ism TEXT NOT NULL,
Familiya TEXT NOT NULL,
Manzil TEXT NOT NULL,
Mahsulot_turi VARCHAR(30) NOT NULL,
Shartnoma_muddati VARCHAR(30) NOT NULL
);
CREATE TABLE Mahsulot(
id BIGSERIAL NOT NULL PRIMARY KEY,
Nomi VARCHAR(15) NOT NULL,
Turi VARCHAR(15) NOT NULL,
Yaroqlik_muddati INT NOT NULL,
Narxi INT NOT NULL,
yet_ber_id BIGINT REFERENCES Yetkazib_beruvchi(id)
);
CREATE TABLE Mijoz(
id BIGSERIAL NOT NULL PRIMARY KEY,
username VARCHAR(15) NOT NULL,
email VARCHAR(30) NOT NULL,
Ism TEXT NOT NULL,
Familiya TEXT NOT NULL,
manzil VARCHAR(30) NOT NULL,
Tulov_shakli VARCHAR(15) NOT NULL,
mahsulotlar_id BIGINT REFERENCES Mahsulot(id)
);
CREATE TABLE Imtiyozlar(
id BIGSERIAL NOT NULL PRIMARY KEY,
Nomlanishi VARCHAR(30) NOT NULL,
Turi VARCHAR(30) NOT NULL,
Muddati DATE NOT NULL,
imtiyozli_mahsulot_id BIGINT REFERENCES Mahsulot(id)
);
CREATE TABLE Doimiy_mijoz(
id BIGSERIAL NOT NULL PRIMARY KEY,
username VARCHAR(15) NOT NULL,
email VARCHAR(30) NOT NULL,
Ism TEXT NOT NULL,
Familiya TEXT NOT NULL,
Manzil TEXT NOT NULL,
Tugilgan_sana DATE NOT NULL,
pasport_seriya VARCHAR(9),
jinsi VARCHAR(10),
UNIQUE (pasport_seriya),
imtiyoz_id BIGINT REFERENCES Imtiyozlar(id),
mahsulotlar_id BIGINT REFERENCES Mahsulot(id)
);
CREATE TABLE Sotuvchi_admin(
id BIGSERIAL NOT NULL PRIMARY KEY,
username VARCHAR(15) NOT NULL,
email VARCHAR(30) NOT NULL,
Ism TEXT NOT NULL,
Familiya TEXT NOT NULL,
Manzil TEXT NOT NULL,
Tugilgan_sana DATE NOT NULL,
pasport_seriya VARCHAR(9),
jinsi TEXT NOT NULL,
UNIQUE (pasport_seriya),
mijoz_id BIGINT REFERENCES Mijoz(id),
dmijoz_id BIGINT REFERENCES Doimiy_mijoz(id)
);
Do'stlaringiz bilan baham: |