Database Design
Lis Sulmont
Curriculum Manager
SUM(), AVG(), COUNT(), MIN(), MAX(), GROUP BY atd.INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOINWHERE, HAVING, UNIQUE, NOT NULL, AND, OR, >, < atd.GRANT privilege(s) nebo REVOKE privilege(s)
ON object
TO role nebo FROM role
SELECT, INSERT, UPDATE, DELETE atd.$$
GRANT UPDATE ON ratings TO PUBLIC;
$$
REVOKE INSERT ON films FROM db_user;
UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama';
Ne všechny pohledy lze aktualizovat
INSERT INTO films (code, title, did, date_prod, kind)
VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama');
Ne všechny pohledy umožňují vkládání
INSERT INTO films (code, title, did, date_prod, kind)
VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama');
Ne všechny pohledy umožňují vkládání
DROP VIEW view_name [ CASCADE | RESTRICT ];
RESTRICT (výchozí): vrátí chybu, pokud na pohled závisí jiné objektyCASCADE: odstraní pohled i všechny závislé objektyCREATE OR REPLACE VIEW view_name AS new_query
view_name existuje, bude nahrazennew_query musí vracet stejné názvy sloupců, pořadí a datové typy jako původní dotazPokud tato kritéria nelze splnit, odstraňte stávající pohled a vytvořte nový
ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name SET DEFAULT expression
ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name DROP DEFAULT
ALTER VIEW [ IF EXISTS ] name OWNER TO new_owner
ALTER VIEW [ IF EXISTS ] name RENAME TO new_name
ALTER VIEW [ IF EXISTS ] name SET SCHEMA new_schema
ALTER VIEW [ IF EXISTS ] name SET ( view_option_name [= view_option_value] [, ... ] )
ALTER VIEW [ IF EXISTS ] name RESET ( view_option_name [, ... ] )
Database Design