1. Loo projekt ja joonista diagrammid


Mitte optimeeritud diagramm:

AI-le esitatud prompt
create database veebipood
use veebipood
CREATE TABLE Kategooria (
kategooria_id INT PRIMARY KEY,
nimetus VARCHAR(50) NOT NULL
);
CREATE TABLE Kasutaja (
kasutaja_id INT PRIMARY KEY,
e_post VARCHAR(100) NOT NULL,
parool VARCHAR(255) NOT NULL,
roll VARCHAR(10) CHECK (roll IN ('jah', 'ei'))
);
CREATE TABLE Toode (
toode_id INT PRIMARY KEY,
nimetus VARCHAR(100) NOT NULL,
hind DECIMAL(10,2) CHECK (hind > 0),
kategooria_id INT,
FOREIGN KEY (kategooria_id) REFERENCES Kategooria(kategooria_id)
);
CREATE TABLE Tellimus (
tellimus_id INT PRIMARY KEY,
kuupaev DATE NOT NULL,
staatus VARCHAR(20),
kasutaja_id INT,
FOREIGN KEY (kasutaja_id) REFERENCES Kasutaja(kasutaja_id)
);
CREATE TABLE Tellimus_Toode (
tellimus_id INT,
toode_id INT,
PRIMARY KEY (tellimus_id, toode_id),
FOREIGN KEY (tellimus_id) REFERENCES Tellimus(tellimus_id),
FOREIGN KEY (toode_id) REFERENCES Toode(toode_id)
);
Optimeeritud diagramm:

Diagrammide võrdlus ja kokkuvõte
- Mida AI muutis: AI parandas seosed ja lisas mitu-mitmele (M:N) seose lahendamiseks vahetabeli
Tellimuse_Rida. Samuti määrati korrektselt primaar- (PK) ja välisvõtmed (FK). - Milliseid olemid/atribuute lisati: Lisati vahetabel
Tellimuse_Ridaatribuutidegakogusjahind. - Kas muudatused olid põhjendatud: Jah, sest ilma vahetabelita poleks võimalik korrektselt salvestada mitme toote ostmist ühe tellimuse raames.
- Mida edaspidi arvestada: Tuleb alati silmas pidada olemitevahelisi seoseid (1:M ja M:N) ning määrata vajalikud piirangud (
NOT NULL,CHECK,UNIQUE) juba varases faasis.
2. Andmebaasi loomine SQL Serveris
Andmebaas nimega veebipood loodi järgmise SQL-skripti abil, mis sisaldab vajalikke piiranguid (PRIMARY KEY, FOREIGN KEY, CHECK, NOT NULL):
create database veebipood
use veebipood
CREATE TABLE Kategooria (
kategooria_id INT PRIMARY KEY,
nimetus VARCHAR(50) NOT NULL
);
CREATE TABLE Kasutaja (
kasutaja_id INT PRIMARY KEY,
e_post VARCHAR(100) NOT NULL,
parool VARCHAR(255) NOT NULL,
roll VARCHAR(10) CHECK (roll IN ('jah', 'ei'))
);
CREATE TABLE Toode (
toode_id INT PRIMARY KEY,
nimetus VARCHAR(100) NOT NULL,
hind DECIMAL(10,2) CHECK (hind > 0),
kategooria_id INT,
FOREIGN KEY (kategooria_id) REFERENCES Kategooria(kategooria_id)
);
CREATE TABLE Tellimus (
tellimus_id INT PRIMARY KEY,
kuupaev DATE NOT NULL,
staatus VARCHAR(20),
kasutaja_id INT,
FOREIGN KEY (kasutaja_id) REFERENCES Kasutaja(kasutaja_id)
);
CREATE TABLE Tellimus_Toode (
tellimus_id INT,
toode_id INT,
PRIMARY KEY (tellimus_id, toode_id),
FOREIGN KEY (tellimus_id) REFERENCES Tellimus(tellimus_id),
FOREIGN KEY (toode_id) REFERENCES Toode(toode_id)
);
3. Visual Studio ja Entity Data Model integreerimine
Visual Studio keskkonnas loodi projekt AndmebaasiProjekt (ASP.NET Web Application / Web Forms), kuhu lisati ADO.NET Entity Data Model andmebaasi ühendamiseks.
Täitke need väljad:





Visual Studio projekt
ADO.NET Entity Data Model skeem (.edmx)
Veebirakenduse töö kontroll
Rakendus käivitati edukalt kohalikus keskkonnas (localhost):

4. GitHubi repositoorium

Projekti lähtekood on täielikult üles laaditud GitHubi: