Untitled
unknown
sqlserver
2 years ago
3.0 kB
12
Indexable
-- Létrehozzuk az adatbázist
CREATE DATABASE IfiFociBajnoksag;
-- Váltunk az új adatbázis kontextusába
USE IfiFociBajnoksag;
-- Létrehozzuk a csapatok tábláját
CREATE TABLE Csapatok (
CsapatID INT PRIMARY KEY,
Nev NVARCHAR(255),
Szekhely NVARCHAR(255)
);
-- Létrehozzuk a játékosok tábláját
CREATE TABLE Jatekosok (
JatekosID INT PRIMARY KEY,
Nev NVARCHAR(255),
CsapatID INT,
FOREIGN KEY (CsapatID) REFERENCES Csapatok(CsapatID)
);
-- Létrehozzuk a meccsek tábláját
CREATE TABLE Meccsek (
MeccsID INT PRIMARY KEY,
Datum DATETIME,
Eredmeny NVARCHAR(255)
);
-- Létrehozzuk a meccs események tábláját
CREATE TABLE MeccsEsemenyek (
EsemenyID INT PRIMARY KEY,
MeccsID INT,
Leiras NVARCHAR(255),
Idopont DATETIME,
FOREIGN KEY (MeccsID) REFERENCES Meccsek(MeccsID)
);
-- Létrehozzuk a szerepeket
CREATE ROLE Edzo;
CREATE ROLE Jatekvezeto;
CREATE ROLE MLSzEllenor;
-- Létrehozzuk a logint és az adatbázis-felhasználót az edző szerep számára
CREATE LOGIN EdzoLogin WITH PASSWORD = 'EdzoJelszo';
CREATE USER EdzoUser FOR LOGIN EdzoLogin;
ALTER ROLE Edzo ADD MEMBER EdzoUser;
-- Létrehozzuk a logint és az adatbázis-felhasználót a játékvezető szerep számára
CREATE LOGIN JatekvezetoLogin WITH PASSWORD = 'JatekvezetoJelszo';
CREATE USER JatekvezetoUser FOR LOGIN JatekvezetoLogin;
ALTER ROLE Jatekvezeto ADD MEMBER JatekvezetoUser;
-- Létrehozzuk a logint és az adatbázis-felhasználót az MLSz ellenőre számára
CREATE LOGIN MLSzEllenorLogin WITH PASSWORD = 'MLSzEllenorJelszo';
CREATE USER MLSzEllenorUser FOR LOGIN MLSzEllenorLogin;
ALTER ROLE MLSzEllenor ADD MEMBER MLSzEllenorUser;
-- Beszúrunk néhány demo rekordot a csapatok táblájába
INSERT INTO Csapatok (CsapatID, Nev, Szekhely)
VALUES
(1, 'Csapat A', 'Szekhely A'),
(2, 'Csapat B', 'Szekhely B');
-- Ellenőrizzük az edző, játékvezető és MLSz ellenőr jogosultságait
-- Példa: Az alábbi GRANT és DENY parancsokkal részletesen beállíthatjuk a jogosultságokat
-- Edző szerep jogosultságai
GRANT SELECT ON Csapatok TO Edzo;
GRANT SELECT ON Jatekosok TO Edzo;
GRANT SELECT ON Meccsek TO Edzo;
GRANT SELECT ON MeccsEsemenyek TO Edzo;
-- Játékvezető szerep jogosultságai
GRANT INSERT, UPDATE, DELETE ON MeccsEsemenyek TO Jatekvezeto;
-- MLSz ellenőr szerep jogosultságai
GRANT SELECT, INSERT, UPDATE, DELETE ON Csapatok TO MLSzEllenor;
GRANT SELECT, INSERT, UPDATE, DELETE ON Jatekosok TO MLSzEllenor;
GRANT SELECT, INSERT, UPDATE, DELETE ON Meccsek TO MLSzEllenor;
GRANT SELECT, INSERT, UPDATE, DELETE ON MeccsEsemenyek TO MLSzEllenor;
-- Javasolt indexek a táblákhoz a hatékony lekérdezések érdekében
-- Példa: Csapatok táblához index a CsapatID oszlopra
CREATE INDEX idx_Csapatok_CsapatID ON Csapatok (CsapatID);
-- A további indexeket hasonlóan hozhatjuk létre a lekérdezésekhez szükséges módon
-- A script befejezése
Editor is loading...