Untitled
unknown
pgsql
a year ago
2.4 kB
2
Indexable
Never
-- 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