Minu töö uml db

Mis on andmebaasi skeem?

Andmekogu skeem on andmekogu struktuur ja korraldus, mis määrab selle tabelid, väljad, seosed, piirangud ja andmetüübid. See on eeskujuks andmete organiseerimisel ja neile juurdepääsul, andes andmebaasiga töötamisel tegevuskava arendajatele, administraatoritele ja kasutajatele. Skeem on vajalik andmete tõhusaks ja tulemuslikuks haldamiseks, mille tulemuseks on andmebaasi jõudluse suurenemine ja hoolduse lihtsustamine.

Andmebaasi skeemide tüübid

Andmebaasi skeeme on kolme tüüpi, millest igaüks esindab erinevaid vaatenurki ja andmebaasi struktuuri abstraktsioonitasemeid

Füüsikaline skeem

Füüsikaline skeem esitab füüsilise andmebaasi tegeliku struktuuri kettal. See sisaldab salvestusmehhanisme, failistruktuure, indekseid ja muid madala taseme detaile, mis määravad, kuidas andmeid säilitatakse ja neile andmebaaside haldamise põhisüsteemi (SAB) poolt ligi pääsetakse. Seda tüüpi skeem on peamiselt seotud salvestusruumi tõhusa kasutamisega, andmebaasi jõudluse suurendamisega otsingu- ja salvestusoperatsioonide optimeerimise kaudu.

Loogiline skeem

Loogiline skeem on kõrgema taseme abstraktsioon, mis kirjeldab andmebaasi andmete korraldust tabelite, väljade, seoste ja piirangute seisukohast. See ei sõltu füüsilisest skeemist ja keskendub sellele, kuidas andmed on loogiliselt korraldatud ja seotud. Loogiline skeem tagab selge arusaamise andmebaasi ülesehitusest ning aitab arendajatel ja administraatoritel andmebaasiga suhtlevaid rakendusi kavandada ja rakendada, määrates kindlaks, kuidas andmeelemendid on omavahel seotud.

Kontseptuaalne skeem

Kontseptuaalne skeem on abstraktsiooni kõrgeim tase, mis kujutab endast kogu andmebaasi loogilist ettekujutust, kuidas lõppkasutajad või rakenduste arendajad seda tajuvad. See koosneb ühtlustatud olemite, atribuutide ja seoste komplektist, mis esindavad teatud kasutajarühma või rakenduste teabenõudeid. Kontseptuaalse skeemi eesmärk on tabada andmete olemust, pööramata tähelepanu üksikasjadele, mis on spetsiifilised elluviimisele, hõlbustades suhtlemist erinevate huvirühmade vahel, kes on seotud andmebaasi projekteerimise, arendamise ja kasutamisega.

Mudelid :

  • “сущности-связи” – OLEMID-SEOSED.
  • “сущности-атрибуты-связи” – OLEMID-ATRIBUUTID- SEOSED.
  • “иерархическая модель” – hierarhilinemudel.
  • “реляционная модель” – relatsioonimudel.

Teine ülesanne

Relatsiooniline andmebaasi kuju:

Skeemi realisatsioon MySQL vahendiga:

CREATE TABLE koormad(
id int primary key,
autonr varchar(20),
sisenemismass varchar(20),

lahkumismass varchar(20)
ToodeID int
FOREIGN KEY (ToodeID) REFERENCES Toode(ToodeID));
----------------
CREATE TABLE onAdmin(

AdminId int primary key,

admin decimal,

kasutaja decimal);
-----------------
CREATE TABLE Klient(
    KlientID int primary key,
    Nimi varchar(50),
    Telefon varchar(20),
    Email varchar(50)
);
--------------------
CREATE TABLE Toode(
    ToodeID int primary key,
    Nimetus varchar(100),
    Kirjeldus varchar(255),
    Hind decimal(10, 2)
);
CREATE TABLE Tellimus(
    TellimusID int primary key,
    KlientID int,
    ToodeID int,
    Kogus int,
    TellimuseKuupaev date,
    FOREIGN KEY (KlientID) REFERENCES Klient(KlientID),
    FOREIGN KEY (ToodeID) REFERENCES Toode(ToodeID)
);

Näiteandmed

INSERT INTO koormad (id, autonr, sisenemismass, lahkumismass,ToodeID)
VALUES
(1, 'ABC123', '1500 kg', '1200 kg',1),
(2, 'DEF456', '1800 kg', '1600 kg',3),
(3, 'GHI789', '2000 kg', '1900 kg',2);

INSERT INTO onAdmin (AdminId, admin, kasutaja)
VALUES
(1, 1, 0),
(2, 0, 1),
(3, 0, 1);

INSERT INTO Klient (KlientID, Nimi, Telefon, Email)
VALUES
(1, 'Maksym Misk', '37259022', 'misk@gmail.com'),
(2, 'Sasha lox', '372590222', 'sasha@gmail.com'),
(3, 'anton gei', '3725678', 'anton@gmail.com');

INSERT INTO Toode (ToodeID, Nimetus, Kirjeldus, Hind)
VALUES
(1, 'Piim', 'piim', '3'),
(2, 'Leib', 'leib', '2'),
(3, 'munn', 'munnad', '1');

INSERT INTO Tellimus (TellimusID, KlientID, ToodeID, Kogus, TellimuseKuupaev)
VALUES
(1, 1, 1, 3, '2024-02-19'),
(2, 2, 3, 2, '2024-02-19'),
(3, 3, 2, 1, '2024-02-19');

Kontroll

tabel koormad :

tabel Toode:

tabel OnAdmin:

tabel klient:

tabel Tellimus: