Skip to content
Главная страница » Andmebaasi skeem

Andmebaasi skeem

UML (Unified Modeling Language) diagrammid, mida võib kasutada andmebaasi skeemi modelleerimisel, hõlmavad klassidiagramme, andmevoo diagramme ja objektidiagramme. Klassidiagrammid kujutavad andmebaasi tabelite struktuuri ja suhteid, andmevoo diagrammid näitavad andmete liikumist süsteemis, ning objektidiagrammid võivad näidata konkreetsete andmebaasi kirjete struktuuri.

Mudelid:

  • olemid-seosed
  • olemid-atribuutid-seosed
  • hierarhiline mudel
  • relatsiooniline mudel / andmemudel

Olemid:

Opilane: esitab õpilase andmed, näiteks eesnimi ja perekonnanimi

Teema: esitab teema, mida konsultatsioon katab

Õpilane: registreerib end konsultatsioonile

Rühm: esitab rühma, kuhu õpilased kuuluvad

Relatsiooniline andmebaasi kuju:

Skeemi realisatsioon MySQL vahendiga:

CREATE TABLE ryhm (
    ryhmId INT PRIMARY KEY AUTO_INCREMENT,
    ryhmNimi VARCHAR(50)
);

CREATE TABLE teema (
    teemaId INT PRIMARY KEY AUTO_INCREMENT,
    teemaNimi VARCHAR(50)
);

CREATE TABLE opilane (
    opilaneId INT PRIMARY KEY AUTO_INCREMENT,
    nimi VARCHAR(50),
    ryhmId INT,
    FOREIGN KEY (ryhmId) REFERENCES ryhm(ryhmId)
);

CREATE TABLE konsultatsioon (
    konsultatsioonId INT PRIMARY KEY AUTO_INCREMENT,
    konsultatsiooniAeg DATETIME,
    teemaId INT,
    opilaneId INT,
    FOREIGN KEY (teemaId) REFERENCES teema(teemaId),
    FOREIGN KEY (opilaneId) REFERENCES opilane(opilaneId)
);

Näiteandmed:

INSERT INTO ryhm (ryhmNimi) VALUES
('TARpe23'),
('MEHpv22');

INSERT INTO teema (teemaNimi) VALUES
('Matemaatika'),
('Programmeerimine');

INSERT INTO opilane (nimi, ryhmId) VALUES
('Luca Gluhhov', 1),
('Maksim Pelmenits', 2);

INSERT INTO konsultatsioon (konsultatsiooniAeg, teemaId, opilaneId) VALUES
('2024-02-19', 1, 1),
('2024-02-20', 2, 2);

Seosed diagram: