Untitled

mail@pastecode.io avatar
unknown
sql
a year ago
1.9 kB
2
Indexable
Never
-- Adatbázis létrehozása
CREATE DATABASE RegionalBuszTarsasag;
GO

-- Adatbázis kiválasztása
USE RegionalBuszTarsasag;
GO

-- Szerepek létrehozása
CREATE ROLE Buszvezeto;
CREATE ROLE Tervezo;
CREATE ROLE Forgalmista;
GO

-- Loginok és adatbázis-felhasználók hozzáadása
CREATE LOGIN BuszvezetoLogin WITH PASSWORD = 'Jelszo123';
CREATE LOGIN TervezoLogin WITH PASSWORD = 'Jelszo456';
CREATE LOGIN ForgalmistaLogin WITH PASSWORD = 'Jelszo789';

-- Loginokhoz tartozó adatbázis-felhasználók
CREATE USER BuszvezetoUser FOR LOGIN BuszvezetoLogin;
CREATE USER TervezoUser FOR LOGIN TervezoLogin;
CREATE USER ForgalmistaUser FOR LOGIN ForgalmistaLogin;

-- Szerepekhez tartozó jogosultságok hozzáadása
ALTER ROLE Buszvezeto ADD MEMBER BuszvezetoUser;
ALTER ROLE Tervezo ADD MEMBER TervezoUser;
ALTER ROLE Forgalmista ADD MEMBER ForgalmistaUser;
GO

-- Táblák létrehozása
CREATE TABLE Megallo
(
    MegalloID INT PRIMARY KEY IDENTITY,
    GPSKoordinatak NVARCHAR(255),
    MegalloNev NVARCHAR(255),
    Telepules NVARCHAR(255)
);

CREATE TABLE Viszonylat
(
    ViszonylatID INT PRIMARY KEY IDENTITY,
    KiinduloMegalloID INT,
    CelMegalloID INT,
    ErintettMegalloID INT,
    FOREIGN KEY (KiinduloMegalloID) REFERENCES Megallo(MegalloID),
    FOREIGN KEY (CelMegalloID) REFERENCES Megallo(MegalloID),
    FOREIGN KEY (ErintettMegalloID) REFERENCES Megallo(MegalloID)
);

CREATE TABLE Buszjarat
(
    BuszjaratID INT PRIMARY KEY IDENTITY,
    ViszonylatID INT,
    IndulasIdeje DATETIME,
    ErkezesIdeje DATETIME,
    Megjegyzes NVARCHAR(1000),
    BuszvezetoID INT,
    FOREIGN KEY (ViszonylatID) REFERENCES Viszonylat(ViszonylatID),
    FOREIGN KEY (BuszvezetoID) REFERENCES BuszvezetoUser(UserID)
);

CREATE TABLE Buszvezeto
(
    BuszvezetoID INT PRIMARY KEY IDENTITY,
    Nev NVARCHAR(255),
    Elerhetoseg NVARCHAR(255)
);