Conception de la base de données
Lis Sulmont
Curriculum Manager
SUM(), AVG(), COUNT(), MIN(), MAX(), GROUP BY, etcINNER JOIN, LEFT JOIN. RIGHT JOIN, FULL JOINWHERE, HAVING, UNIQUE, NOT NULL, AND, OR,>,<, etcGRANT privilege(s) or REVOKE privilege(s)
ON object
TO role or FROM role
SELECT, INSERT, UPDATE, DELETE, etc $$
GRANT UPDATE ON ratings TO PUBLIC;
$$
REVOKE INSERT ON films FROM db_user;
UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama';
Not all views are updatable
INSERT INTO films (code, title, did, date_prod, kind)
VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama');
Not all views are insertable
INSERT INTO films (code, title, did, date_prod, kind)
VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama');
Not all views are insertable
DROP VIEW view_name [ CASCADE | RESTRICT ];
RESTRICT (default): returns an error if there are objects that depend on the viewCASCADE: drops view and any object that depends on that viewCREATE OR REPLACE VIEW view_name AS new_query
view_name exists, it is replacednew_query must generate the same column names, order, and data types as the old queryIf these criteria can't be met, drop the existing view and create a new one
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 [, ... ] )
Conception de la base de données