text: -- CAP 3LAB I
  
  -- 1
  CREATE TYPE TIPO_CODIGO		FROM INT			NOT NULL;
  CREATE TYPE TIPO_ENDERECO	FROM VARCHAR(60)		NULL;
  CREATE TYPE TIPO_FONE		FROM CHAR(14)			NULL;
  CREATE TYPE TIPO_SEXO		FROM CHAR(1)		NOT NULL;
  CREATE TYPE TIPO_ALIQUOTA	FROM NUMERIC(4,2)		NULL;
  CREATE TYPE TIPO_PRAZO		FROM INT			NOT NULL;
  
  -- 2
  SELECT * FROM SYSTYPES WHERE UID = 1; 
  
  -- 3
  GO
  CREATE RULE R_SEXO		AS	@SEXO		IN ('F','M');
  CREATE RULE R_ALIQUOTA	AS	@ALIQUOTA	>= 0;
  CREATE RULE R_PRAZO		AS	@PRAZO		BETWEEN 1 AND 60; 
  CREATE RULE R_PRECOS	AS	@PRECO		>= 0;
  
  -- 4
  SELECT * FROM SYSOBJECTS WHERE XTYPE = 'R';
  
  -- 5
  sp_bindrule 'R_SEXO'		,'TIPO_SEXO'
  sp_bindrule 'R_ALIQUOTA'	,'TIPO_ALIQUOTA'
  sp_bindrule 'R_PRAZO'		,'TIPO_PRAZO'
  sp_bindrule 'R_PRECOS'		,'TIPO_PRECOS'
  
  -- 6 
  GO
  CREATE DEFAULT D_SEXO		AS 'M';
  GO
  CREATE DEFAULT D_ALIQUOTA	AS 0;
  GO
  CREATE DEFAULT D_PRAZO		AS 1;
  GO
  
  -- 7
  SELECT * FROM SYSOBJECTS WHERE XTYPE = 'D'
  
  -- 8
  SP_BINDEFAULT 'D_SEXO'		,'TIPO_SEXO';
  SP_BINDEFAULT 'D_ALIQUOTA'	, 'TIPO_ALIQUOTA';
  SP_BINDEFAULT 'D_PRAZO'		,'TIPO_PRAZO';
  
  -- 9
  CREATE DATABASE EXERCICIO;
  
  CREATE TABLE PESSOA
  (
  	COD_PESSOA	TIPO_CODIGO IDENTITY,
  	NOME		VARCHAR(30),
  	ENDERECO	TIPO_ENDERECO,
  	SEXO		TIPO_SEXO,
  );
  
  ALTER TABLE PESSOA ADD
  CONSTRAINT PK_COD_PESSOA PRIMARY KEY(COD_PESSOA);
  
  -- 10
  CREATE TABLE CONTAS
  (
  	COD_CONTA		TIPO_CODIGO IDENTITY,
  	VALOR			NUMERIC(10,2),
  	QTD_PARCELAS	TIPO_PRAZO,
  	PORC_MULTA		TIPO_ALIQUOTA,
  );
  
  ALTER TABLE CONTAS ADD
  CONSTRAINT PK_COD_CONTA PRIMARY KEY(COD_CONTA);
  
  -- 11
  INSERT INTO PESSOA (NOME, ENDERECO, SEXO)
  VALUES ('ZECA','RUA DO ZECA','M');
  
  INSERT INTO PESSOA (NOME, ENDERECO, SEXO)
  VALUES ('RONALDINHO','RUA DO BRUXO','M');
  
  INSERT INTO PESSOA (NOME, ENDERECO, SEXO)
  VALUES ('MICHAEL','RUA DO JACKSON','M');
  
  INSERT INTO PESSOA (NOME, ENDERECO, SEXO)
  VALUES ('DILMA','RUA DO VENTO','F');
  
  INSERT INTO PESSOA (NOME, ENDERECO, SEXO)
  VALUES ('TAMER','RUA DO ARBITRO','M');
  
  -- 12
  SELECT * FROM PESSOA;
  
  -- 13
  CREATE TABLE FUNCIONARIO 
  (
  	COD_FUNC	TIPO_CODIGO IDENTITY PRIMARY KEY,
  	NOME		VARCHAR(30),
  	ENDERECO	VARCHAR(80),
  	SEXO		TIPO_SEXO 
  );
  
  -- 14
  CREATE SYNONYM  tb_Funcionario FOR FUNCIONARIO;
  
  -- 15
  CREATE SEQUENCE SQ_FUNCIONARIO 
  START WITH			100
  INCREMENT		BY  10
  
  -- 16
  SELECT * FROM FUNCIONARIO;
  
  SET IDENTITY_INSERT FUNCIONARIO ON;
  
  INSERT INTO tb_Funcionario (COD_FUNC,NOME, ENDERECO, SEXO)
  VALUES (NEXT VALUE FOR SQ_FUNCIONARIO, 'JORGE', 'RUA DOS JORG', 'F');
  
  