CREATE TABLE TB_MATHEUS_MEDEIROS_JOGOS ( CODIGO NUMERIC(10) NOT NULL, TITULO VARCHAR(150) NOT NULL, GENERO VARCHAR(30) NOT NULL, ANO_LANCAMENTO NUMERIC(4) NOT NULL, PRODUTORA VARCHAR(50) NOT NULL, DESCRICAO VARCHAR(500) NOT NULL, CONSTRAINT PK_MM_JOGOS PRIMARY KEY (CODIGO), CONSTRAINT CK_MM_JOGOS_ANO CHECK (ANO_LANCAMENTO BETWEEN 1970 AND EXTRACT(YEAR FROM CURRENT_DATE)), CONSTRAINT CK_MM_JOGOS_TITULO CHECK (LENGTH(TITULO) BETWEEN 3 AND 100) ); CREATE SEQUENCE TB_MATHEUS_MEDEIROS_JOGOS_SEQ START WITH 1 INCREMENT BY 1 CACHE 1 NO CYCLE; CREATE TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ( CODIGO NUMERIC(10) NOT NULL, NOME VARCHAR(100) NOT NULL, EMAIL VARCHAR(150) NOT NULL, COMENTARIO VARCHAR(1000) NOT NULL, NOTA NUMERIC(4,2) NOT NULL, DATA_AVALIACAO DATE DEFAULT CURRENT_DATE NOT NULL, ID_JOGO NUMERIC(10) NOT NULL, CONSTRAINT PK_MM_AVALIACOES PRIMARY KEY (CODIGO), CONSTRAINT FK_MM_AVAL_JOGO FOREIGN KEY (ID_JOGO) REFERENCES TB_MATHEUS_MEDEIROS_JOGOS (CODIGO), CONSTRAINT CK_MM_AVAL_NOTA CHECK (NOTA BETWEEN 0 AND 10) ); CREATE SEQUENCE TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ START WITH 1 INCREMENT BY 1 CACHE 1 NO CYCLE; ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS ALTER COLUMN TITULO TYPE VARCHAR(100); ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS ALTER COLUMN DESCRICAO DROP NOT NULL; ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS ALTER COLUMN CODIGO SET DEFAULT NEXTVAL('TB_MATHEUS_MEDEIROS_JOGOS_SEQ'); ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS ADD COLUMN NOTA_MEDIA NUMERIC(3,1); ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS DROP CONSTRAINT IF EXISTS CK_MM_JOGOS_NOTA_MEDIA; ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS ADD CONSTRAINT CK_MM_JOGOS_NOTA_MEDIA CHECK ( NOTA_MEDIA IS NULL OR NOTA_MEDIA BETWEEN 0 AND 10 ); ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ALTER COLUMN COMENTARIO TYPE VARCHAR(300); ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ALTER COLUMN COMENTARIO DROP NOT NULL; ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ALTER COLUMN NOTA TYPE NUMERIC(3,1); ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ALTER COLUMN NOTA DROP NOT NULL; ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ALTER COLUMN DATA_AVALIACAO TYPE TIMESTAMP; ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ALTER COLUMN DATA_AVALIACAO SET DEFAULT CURRENT_TIMESTAMP; ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ALTER COLUMN CODIGO SET DEFAULT NEXTVAL('TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ'); ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES DROP CONSTRAINT IF EXISTS CK_MM_AVAL_NOTA; ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ADD CONSTRAINT CK_MM_AVAL_NOTA CHECK ( NOTA IS NULL OR NOTA BETWEEN 0 AND 10 ); ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES DROP CONSTRAINT IF EXISTS UK_MM_AVAL_EMAIL_JOGO; ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ADD CONSTRAINT UK_MM_AVAL_EMAIL_JOGO UNIQUE (EMAIL, ID_JOGO);