Untitled
unknown
pgsql
2 years ago
2.4 kB
8
Indexable
-- Create the database
CREATE DATABASE IfiFociBajnoksag;
-- Switch to the new database context
\c IfiFociBajnoksag;
-- Create the tables for teams, players, matches, and match events
CREATE TABLE Csapatok (
CsapatID SERIAL PRIMARY KEY,
Nev VARCHAR(255),
Szekhely VARCHAR(255)
);
CREATE TABLE Jatekosok (
JatekosID SERIAL PRIMARY KEY,
Nev VARCHAR(255),
CsapatID INT REFERENCES Csapatok(CsapatID)
);
CREATE TABLE Meccsek (
MeccsID SERIAL PRIMARY KEY,
Datum TIMESTAMPTZ,
Eredmeny VARCHAR(255)
);
CREATE TABLE MeccsEsemenyek (
EsemenyID SERIAL PRIMARY KEY,
MeccsID INT REFERENCES Meccsek(MeccsID),
Leiras VARCHAR(255),
Idopont TIMESTAMPTZ
);
-- Create roles
CREATE ROLE Edzo;
CREATE ROLE Jatekvezeto;
CREATE ROLE MLSzEllenor;
-- Create logins and database users for roles
CREATE USER EdzoUser WITH PASSWORD 'EdzoJelszo';
GRANT Edzo TO EdzoUser;
CREATE USER JatekvezetoUser WITH PASSWORD 'JatekvezetoJelszo';
GRANT Jatekvezeto TO JatekvezetoUser;
CREATE USER MLSzEllenorUser WITH PASSWORD 'MLSzEllenorJelszo';
GRANT MLSzEllenor TO MLSzEllenorUser;
-- Insert some demo records into the teams table
INSERT INTO Csapatok (Nev, Szekhely)
VALUES
('Csapat A', 'Szekhely A'),
('Csapat B', 'Szekhely B');
-- Check the permissions for Edzo, Jatekvezeto, and MLSzEllenor roles
-- Example: Grant and deny permissions as needed for each role
-- Edzo role permissions
GRANT SELECT ON TABLE Csapatok TO Edzo;
GRANT SELECT ON TABLE Jatekosok TO Edzo;
GRANT SELECT ON TABLE Meccsek TO Edzo;
GRANT SELECT ON TABLE MeccsEsemenyek TO Edzo;
-- Jatekvezeto role permissions
GRANT INSERT, UPDATE, DELETE ON TABLE MeccsEsemenyek TO Jatekvezeto;
-- MLSzEllenor role permissions
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE Csapatok TO MLSzEllenor;
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE Jatekosok TO MLSzEllenor;
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE Meccsek TO MLSzEllenor;
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE MeccsEsemenyek TO MLSzEllenor;
-- Recommended indexes for tables to improve query performance
-- Example: Create indexes for specific columns as needed
-- Index for Csapatok table on CsapatID column
CREATE INDEX idx_Csapatok_CsapatID ON Csapatok (CsapatID);
-- You can create additional indexes as required for your specific queries
-- End of the script
Editor is loading...