Your SlideShare is downloading. ×
Exemplo projeto-bd-assunto-2a-aval-bsi-lc
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Exemplo projeto-bd-assunto-2a-aval-bsi-lc

1,501
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,501
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
63
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________ Exemplo de Projeto de Banco de Dados1. Dado o Mini-mundo que representa um Banco BOM S.A, constituído de clientes, contas, agências, funcionários e transações, com as seguintes características: Agência, é o conjunto de todas as agências de um banco. Cada Agência é descrita pelos atributos agência-código, agência-nome, agência-estado-federação e agência- cidade. Cliente, é o conjunto de todas as pessoas que têm conta no Banco BOM S.A. Cada Cliente é descrito pelos atributos cliente-nome, cliente-cpf, cliente-endereço, cliente- números-telefones, cliente-profissão. Funcionário, o conjunto de todas as pessoas que trabalham no Banco BOM S.A. Cada Funcionário é descrito pelos atributos funcionário-matrícula, funcionário-cpf, funcionário-nome, funcionário-número-telefone, funcionário-dependentes. Conta, o conjunto de todas as contas mantidas no Banco BOM S.A. Cada Conta é descrita pelos atributos conta-número conta-saldo. Transação, o conjunto de todas as transações executadas no Banco BOM S.A. Cada Transação é descrita pelos atributos transação-número, transação- tipo(débito,crédito), transação-data e transação-quantia. Um cliente não pode ter mais de uma conta na mesma agência. Uma conta pode pertencer a mais de um cliente. O Banco BOM S.A. só possui cliente tipo pessoa-física. Um funcionário só pode trabalhar em uma agência. Uma transação só pode se feita por um cliente sobre uma conta.2. Faça as atividades do Projeto de Banco de Dados do Banco BOM S.A. conforme requerido nos itens abaixo: a) Criar o Diagrama Entidade-Relacionamento incluindo Entidades, Relacionamentos, Atributos e Cardinalidade. Utilize o BRModelo; b) Efetuar a migração do Modelo Entidade-Relacionamento para o Modelo Relacional; c) Efetuar, caso necessário, o processo de normalização até a 3. forma normal; d) Criar o Diagrama do modelo Lógico. Utilize o DBDesigner; e) Elaborar os Scripts de criação do Esquema do Banco de Dados (SQL/DDL). Utilize o gerar de SQL do DBDesigner; f) Gerar uma Instância de um Banco em Mysql, Postgres ou Firebird; 1
  • 2. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira_________________________________________________________________ g) Elabore SQL/DML para efetuar as seguintes consultas: i. Relação dos clientes por ordem alfabética; ii. Relação dos dependentes do cliente 10; iii. Relação dos dependentes do cliente 10 com nome do cliente, nome do dependente e descrição do grau de parentesco; iv. Relação das Contas e suas Transações; v. Valor total das movimentações (transações) do mês passado; vi. Relação dos clientes com saldos e movimentações no mês passado (nome do cliente, número da conta, saldo atual, valores debitados (tipo=’D’) e valores creditados (tipo=’C’)).__________________Fim do Escopo do Projeto de BD _________________________ 2
  • 3. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________ RESOLUÇÃO Projeto de Banco de Dados do Banco BOM S.Aa) Modelo Conceitual (MER) (Volume 2) Analisando melhor o modelo Conceitual podemos identificar algumas anomalias iniciais (1FN) que serão melhores tratadas neste momento: 1) Dependente possui atributos próprios e deve ser tratado como Entidade Fraca 2) Telefones do Cliente é um atributo multivalorado 3
  • 4. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira_________________________________________________________________ 4
  • 5. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________b) Derivando MR a partir do MER (Capítulo 8) Mapeando Entidades Fortesfuncionario(fun_num_cpf, fun_nome, fun_num_telefone)cliente(cli_num_cpf, cli_nome, cli_endereco, cli_numeros_telefones, cli_profissao)agencia(age_codigo, age_nome, age_sigla_unidade_federativa, age_nome_municipio)conta(cta_numero, cta_saldo)transacao(trn_numero, trn_cod_tipo, trn_data, trn_valor) Mapeando Atributos Multivaloradoscliente(cli_num_cpf, cli_nome, cli_endereco, cli_profissao)cliente_telefone(cli_num_cpf(FK), tel_numero) cli_num_cpf referencia cliente Mapeando Entidades Fracasdependente(fun_num_cpf(FK), dep_sequencia, dep_nome, dep_grau_parentesco) fun_num_cpf referencia funcionario Mapeando Relacionamentos Binários 1:1O modelo tratado não possui relacionamentos binários 1:1 Mapeando Relacionamentos Binários 1:Nfuncionario(fun_num_cpf, fun_nome, fun_num_telefone, age_codigo(FK)) age_codigo referencia agenciaconta(cta_numero, cta_saldo, age_codigo(FK)) age_codigo referencia agenciatransacao(trn_numero, trn_cod_tipo, trn_data, trn_valor, cta_numero(FK)) cta_numero referencia contatransacao(trn_numero, trn_cod_tipo, trn_data, trn_valor, cta_numero(FK), cli_codigo(FK)) cta_numero referencia conta cli_codigo referencia cliente Mapeando Relacionamentos Binários M:Ncliente_conta(cli_num_cpf(FK), cta_numero(FK)) cli_num_cpf referencia cliente cta_numero referencia numero Mapeando Relacionamentos n-áriosO modelo tratado não possui relacionamentos n-ários 5
  • 6. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________ Mapeando Especializações e GeneralizaçõesO modelo tratado não possui especializações ou generalizações Mapeando Agregações AssociativasO modelo tratado não possui agregações associativas Resultado do Mapeamento MER para MRfuncionario(fun_num_cpf, fun_nome, fun_num_telefone, age_codigo(FK)) age_codigo referencia agenciacliente(cli_num_cpf, cli_nome, cli_endereco, cli_profissao)cliente_telefone(cli_num_cpf(FK), tel_numero) cli_num_cpf referencia clientedependente(fun_num_cpf(FK), dep_sequencia, dep_nome, dep_grau_parentesco) fun_num_cpf referencia funcionarioagencia(age_codigo, age_nome, age_sigla_unidade_federativa, age_nome_municipio)conta(cta_numero, cta_saldo, age_codigo(FK)) age_codigo referencia agenciacliente_conta(cli_num_cpf(FK), cta_numero(FK)) cli_num_cpf referencia cliente cta_numero referencia numerotransacao(trn_numero, trn_cod_tipo, trn_data, trn_valor, cta_numero(FK), cli_codigo(FK)) cta_numero referencia conta cli_codigo referencia cliente 6
  • 7. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________c) Normalização (Capítulo 9) 1FN: Atributos Compostos e Multivaloradosalguns atributos multivalorados (telefones) e compostos (dependentes) foram tratadosna fase do modelo conceitual. O atributo endereço de cliente que pode ser considerado um atributo compostocliente(cli_num_cpf, cli_nome, cli_profissao, cli_end_logr, cli_end_numero, cli_end_bairro, cli_end_municipio, cli_end_unidade_federativa, cli_end_num_cep) 2FN: Atributos Compostos e MultivaloradosO modelo já está na 2FN. dependência total da chave primária. Só aplicado à relaçõescom chaves compostas. 3FN: Dependência Transitiva O Atributo profissão não depende de ter clientes para existirprofissao(pro_codigo, pro_descricao)cliente(cli_num_cpf, cli_nome,pro_codigo(FK), cli_end_logr, cli_end_numero,cli_end_bairro, cli_end_municipio,cli_end_unidade_federativa, cli_end_num_cep) pro_codigo referencia profissao O Atributo grau de parentesco não depende de ter dependentes para existirgrau_parentesco(gpa_codigo, gpa_descricao)dependente(fun_num_cpf(FK), dep_sequencia, dep_nome, gpa_codigo(FK)) fun_num_cpf referencia funcionario gpa_codigo referencia grau_parentesco O Atributo unidade federativa não depende de ter agência para existirunidade_federativa(ufd_sigla, ufd_nome)agencia(age_codigo, age_nome, ufd_sigla(FK), age_nome_municipio) ufd_sigla referencia unidade_federativa O Atributo unidade federativa não pode ser atributo em Cliente e Referência em Agênciacliente(cli_num_cpf, cli_nome, pro_codigo(FK), cli_end_logr, cli_end_numero, cli_end_bairro, cli_end_municipio, ufd_sigla(FK), cli_end_num_cep) pro_codigo referencia profissao ufd_sigla referencia unidade_federativa O Atributo nome do município não depende de ter agência para existirmunicipio(mun_codigo, mun_nome) 7
  • 8. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________agencia(age_codigo, age_nome, ufd_sigla(FK), mun_codigo(FK)) ufd_sigla referencia unidade_federativa mun_codigo referencia município O Atributo município não pode ser atributo em Cliente e Referência em Agênciacliente(cli_num_cpf, cli_nome, pro_codigo(FK),cli_end_logr, cli_end_numero, cli_end_bairro, mun_codigo(FK),ufd_sigla(FK), cli_end_num_cep) pro_codigo referencia profissao ufd_sigla referencia unidade_federativa mun_codigo referencia municipio Resultado da Nomalizaçãofuncionario(fun_num_cpf, fun_nome, fun_num_telefone, age_codigo(FK)) age_codigo referencia agenciaprofissao(pro_codigo, pro_descricao)cliente(cli_num_cpf, cli_nome, pro_codigo(FK), cli_end_logr, cli_end_numero, cli_end_bairro, mun_codigo(FK), ufd_sigla(FK), cli_end_num_cep) pro_codigo referencia profissao ufd_sigla referencia unidade_federativa mun_codigo referencia municipiocliente_telefone(cli_num_cpf(FK), tel_numero) cli_num_cpf referencia clientegrau_parentesco(gpa_codigo, gpa_descricao)dependente(fun_num_cpf(FK), dep_sequencia, dep_nome, gpa_codigo(FK)) fun_num_cpf referencia funcionario gpa_codigo referencia grau_parentescounidade_federativa(ufd_sigla, ufd_nome)municipio(mun_codigo, mun_nome)agencia(age_codigo, age_nome, ufd_sigla(FK), mun_codigo(FK)) ufd_sigla referencia unidade_federativa mun_codigo referencia municípioconta(cta_numero, cta_saldo, age_codigo(FK)) age_codigo referencia agenciacliente_conta(cli_num_cpf(FK), cta_numero(FK)) cli_num_cpf referencia cliente cta_numero referencia numerotransacao(trn_numero, trn_cod_tipo, trn_data, trn_valor, cta_numero(FK), cli_codigo(FK)) cta_numero referencia conta cli_codigo referencia cliente 8
  • 9. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________d) Modelo Lógico (MER) 9
  • 10. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________e) Scripts de Criação do Esquema do BD (SQL/DDL) Esquema para MySQLCREATE TABLE AGENCIA ( AGE_CODIGO INTEGER UNSIGNED NOT NULL ,UFD_SIGLA VARCHAR(2) NOT NULL ,MUN_CODIGO INTEGER UNSIGNED NOT NULL ,AGE_NOME VARCHAR(50) NOT NULL ,CONSTRAINT PK_AGENCIA PRIMARY KEY (AGE_CODIGO)) TYPE=InnoDB;CREATE INDEX IXFK_AGENCIA_1_UFD_SIGLA ON AGENCIA (UFD_SIGLA);CREATE INDEX IXFK_AGENCIA_2_MUN_CODIGO ON AGENCIA (MUN_CODIGO);CREATE TABLE CLIENTE ( CLI_NUM_CPF INTEGER UNSIGNED AUTO_INCREMENT(11) NOT NULL ,PRO_CODIGO INTEGER UNSIGNED NOT NULL ,MUN_CODIGO INTEGER UNSIGNED NOT NULL ,UFD_SIGLA VARCHAR(2) NOT NULL ,CLI_NOME INTEGER UNSIGNED NULL ,CLI_END_LOGR VARCHAR(50) NULL ,CLI_END_NUMERO INTEGER UNSIGNED NULL ,CLI_END_BAIRRO VARCHAR(30) NULL ,CLI_END_NUM_CEP VARCHAR(8) NULL ,CONSTRAINT PK_CLIENTE PRIMARY KEY (CLI_NUM_CPF)) TYPE=InnoDB;CREATE INDEX IXFK_CLIENTE_1_PRO_CODIGO ON CLIENTE (PRO_CODIGO);CREATE INDEX IXFK_CLIENTE_2_UFD_SIGLA ON CLIENTE (UFD_SIGLA);CREATE INDEX IXFK_CLIENTE_3_MUN_CODIGO ON CLIENTE (MUN_CODIGO);CREATE TABLE CLIENTE_CONTA ( CLI_NUM_CPF VARCHAR(11) NOT NULL ,CTA_NUMERO INTEGER UNSIGNED NOT NULL ,CONSTRAINT PK_CLIENTE_CONTA PRIMARY KEY (CLI_NUM_CPF, CTA_NUMERO)) TYPE=InnoDB;CREATE INDEX IXFK_CLIENTE_CONTA_1_CLI_NUM_CPF ON CLIENTE_CONTA (CLI_NUM_CPF);CREATE INDEX IXFK_CLIENTE_CONTA_2_CTA_NUMERO ON CLIENTE_CONTA (CTA_NUMERO);CREATE TABLE CONTA ( CTA_NUMERO INTEGER UNSIGNED NOT NULL ,AGE_CODIGO INTEGER UNSIGNED NOT NULL ,CTA_SALDO DECIMAL(12,2) NOT NULL DEFAULT 0 ,CONSTRAINT PK_CONTA PRIMARY KEY (CTA_NUMERO)) TYPE=InnoDB;CREATE INDEX IXFK_CONTA_1_AGE_CODIGO ON CONTA (AGE_CODIGO);CREATE TABLE DEPENDENTE ( DEP_NUM_SEQUENCIA INTEGER UNSIGNED NOT NULL ,CLI_NUM_CPF VARCHAR(11) NOT NULL ,GPA_CODIGO INTEGER UNSIGNED NOT NULL ,DEP_NOME VARCHAR(50) NOT NULL ,CONSTRAINT PK_DEPENDENTE PRIMARY KEY (DEP_NUM_SEQUENCIA, CLI_NUM_CPF)) TYPE=InnoDB;CREATE INDEX IXFK_DEPENDENTE_1_CLI_NUM_CPF ON DEPENDENTE (CLI_NUM_CPF);CREATE INDEX IXFK_DEPENDENTE_2_GPA_CODIGO ON DEPENDENTE (GPA_CODIGO); 10
  • 11. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________CREATE TABLE FUNCIONARIO ( FUN_NUM_CPF VARCHAR(11) NOT NULL ,AGE_CODIGO INTEGER UNSIGNED NOT NULL ,FUN_NOME VARCHAR(50) NOT NULL ,FUN_NUM_TELEFONE VARCHAR(20) NULL ,CONSTRAINT PK_FUNCIONARIO PRIMARY KEY (FUN_NUM_CPF)) TYPE=InnoDB;CREATE INDEX IXFK_FUNCIONARIO_1_AGE_CODIGO ON FUNCIONARIO (AGE_CODIGO);CREATE TABLE GRAU_PARENTESCO ( GPA_CODIGO INTEGER UNSIGNED AUTO_INCREMENT NOT NULL ,GPA_DESCRICAO VARCHAR(40) NOT NULL ,CONSTRAINT PK_GRAU_PARENTESCO PRIMARY KEY (GPA_CODIGO)) TYPE=InnoDB;CREATE TABLE MUNICIPIO ( MUN_CODIGO INTEGER UNSIGNED AUTO_INCREMENT NOT NULL ,MUN_NOME VARCHAR(40) NOT NULL ,CONSTRAINT PK_MUNICIPIO PRIMARY KEY (MUN_CODIGO)) TYPE=InnoDB;CREATE TABLE PROFISSAO ( PRO_CODIGO INTEGER UNSIGNED AUTO_INCREMENT NOT NULL ,PRO_DESCRICAO VARCHAR(50) NOT NULL ,CONSTRAINT PK_PROFISSAO PRIMARY KEY (PRO_CODIGO)) TYPE=InnoDB;CREATE TABLE TELEFONE ( CLI_NUM_CPF VARCHAR(11) NOT NULL ,TEL_NUMERO INTEGER UNSIGNED NOT NULL ,CONSTRAINT PK_TELEFONE PRIMARY KEY (CLI_NUM_CPF, TEL_NUMERO)) TYPE=InnoDB;CREATE INDEX IXFK_TELEFONE_1_CLI_NUM_CPF ON TELEFONE (CLI_NUM_CPF);CREATE TABLE TRANSACAO ( TRN_NUMERO INTEGER UNSIGNED AUTO_INCREMENT NOT NULL ,CLI_NUM_CPF VARCHAR(11) NOT NULL ,CTA_NUMERO INTEGER UNSIGNED NOT NULL ,TRN_COD_TIPO CHAR(1) NULL ,TRN_DATA TIMESTAMP NULL ,TRN_VALOR DECIMAL(12,2) NULL ,CONSTRAINT PK_TRANSACAO PRIMARY KEY (TRN_NUMERO)) TYPE=InnoDB;CREATE INDEX IXFK_TRANSACAO_1_CTA_NUMERO ON TRANSACAO (CTA_NUMERO);CREATE INDEX IXFK_TRANSACAO_2_CLI_NUM_CPF ON TRANSACAO (CLI_NUM_CPF);CREATE TABLE UNIDADE_FEDERATIVA ( UFD_SIGLA VARCHAR(2) NOT NULL ,UFD_NOME VARCHAR(40) NOT NULL ,CONSTRAINT PK_UNIDADE_FEDERATIVA PRIMARY KEY (UFD_SIGLA)) TYPE=InnoDB;ALTER TABLE AGENCIA ADD CONSTRAINT FK_AGENCIA_UNIDADE_FEDERATIVA FOREIGN KEY (UFD_SIGLA) REFERENCES UNIDADE_FEDERATIVA (UFD_SIGLA);ALTER TABLE AGENCIA ADD CONSTRAINT FK_AGENCIA_MUNICIPIO FOREIGN KEY (MUN_CODIGO) REFERENCES MUNICIPIO (MUN_CODIGO); 11
  • 12. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________ALTER TABLE CLIENTE ADD CONSTRAINT FK_CLIENTE_PROFISSAO FOREIGN KEY (PRO_CODIGO) REFERENCES PROFISSAO (PRO_CODIGO);ALTER TABLE CLIENTE ADD CONSTRAINT FK_CLIENTE_UNIDADE_FEDERATIVA FOREIGN KEY (UFD_SIGLA) REFERENCES UNIDADE_FEDERATIVA (UFD_SIGLA);ALTER TABLE CLIENTE ADD CONSTRAINT FK_CLIENTE_MUNICIPIO FOREIGN KEY (MUN_CODIGO) REFERENCES MUNICIPIO (MUN_CODIGO);ALTER TABLE CLIENTE_CONTA ADD CONSTRAINT FK_CLIENTE_CONTA_CLIENTE FOREIGN KEY (CLI_NUM_CPF) REFERENCES CLIENTE (CLI_NUM_CPF);ALTER TABLE CLIENTE_CONTA ADD CONSTRAINT FK_CLIENTE_CONTA_CONTA FOREIGN KEY (CTA_NUMERO) REFERENCES CONTA (CTA_NUMERO);ALTER TABLE CONTA ADD CONSTRAINT FK_CONTA_AGENCIA FOREIGN KEY (AGE_CODIGO) REFERENCES AGENCIA (AGE_CODIGO);ALTER TABLE DEPENDENTE ADD CONSTRAINT FK_DEPENDENTE_CLIENTE FOREIGN KEY (CLI_NUM_CPF) REFERENCES CLIENTE (CLI_NUM_CPF);ALTER TABLE DEPENDENTE ADD CONSTRAINT FK_DEPENDENTE_GRAU_PARENTESCO FOREIGN KEY (GPA_CODIGO) REFERENCES GRAU_PARENTESCO (GPA_CODIGO);ALTER TABLE FUNCIONARIO ADD CONSTRAINT FK_FUNCIONARIO_AGENCIA FOREIGN KEY (AGE_CODIGO) REFERENCES AGENCIA (AGE_CODIGO);ALTER TABLE TELEFONE ADD CONSTRAINT FK_TELEFONE_CLIENTE FOREIGN KEY (CLI_NUM_CPF) REFERENCES CLIENTE (CLI_NUM_CPF);ALTER TABLE TRANSACAO ADD CONSTRAINT FK_TRANSACAO_CONTA FOREIGN KEY (CTA_NUMERO) REFERENCES CONTA (CTA_NUMERO);ALTER TABLE TRANSACAO ADD CONSTRAINT FK_TRANSACAO_CLIENTE FOREIGN KEY (CLI_NUM_CPF) REFERENCES CLIENTE (CLI_NUM_CPF) Esquema para PostgresCREATE TABLE AGENCIA ( AGE_CODIGO INTEGER NOT NULL ,UFD_SIGLA VARCHAR(2) NOT NULL ,MUN_CODIGO INTEGER NOT NULL ,AGE_NOME VARCHAR(50) NOT NULL ,CONSTRAINT PK_AGENCIA PRIMARY KEY (AGE_CODIGO));CREATE INDEX IXFK_AGENCIA_1_UFD_SIGLA ON AGENCIA (UFD_SIGLA);CREATE INDEX IXFK_AGENCIA_2_MUN_CODIGO ON AGENCIA (MUN_CODIGO);CREATE TABLE CLIENTE ( CLI_NUM_CPF SERIAL(11) NOT NULL ,PRO_CODIGO INTEGER NOT NULL ,MUN_CODIGO INTEGER NOT NULL ,UFD_SIGLA VARCHAR(2) NOT NULL ,CLI_NOME INTEGER ,CLI_END_LOGR VARCHAR(50) ,CLI_END_NUMERO INTEGER ,CLI_END_BAIRRO VARCHAR(30) ,CLI_END_NUM_CEP VARCHAR(8) ,CONSTRAINT PK_CLIENTE PRIMARY KEY (CLI_NUM_CPF)) 12
  • 13. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________;CREATE INDEX IXFK_CLIENTE_1_PRO_CODIGO ON CLIENTE (PRO_CODIGO);CREATE INDEX IXFK_CLIENTE_2_UFD_SIGLA ON CLIENTE (UFD_SIGLA);CREATE INDEX IXFK_CLIENTE_3_MUN_CODIGO ON CLIENTE (MUN_CODIGO);CREATE TABLE CLIENTE_CONTA ( CLI_NUM_CPF VARCHAR(11) NOT NULL ,CTA_NUMERO INTEGER NOT NULL ,CONSTRAINT PK_CLIENTE_CONTA PRIMARY KEY (CLI_NUM_CPF, CTA_NUMERO));CREATE INDEX IXFK_CLIENTE_CONTA_1_CLI_NUM_CPF ON CLIENTE_CONTA (CLI_NUM_CPF);CREATE INDEX IXFK_CLIENTE_CONTA_2_CTA_NUMERO ON CLIENTE_CONTA (CTA_NUMERO);CREATE TABLE CONTA ( CTA_NUMERO INTEGER NOT NULL ,AGE_CODIGO INTEGER NOT NULL ,CTA_SALDO DECIMAL(12,2) NOT NULL DEFAULT 0 ,CONSTRAINT PK_CONTA PRIMARY KEY (CTA_NUMERO));CREATE INDEX IXFK_CONTA_1_AGE_CODIGO ON CONTA (AGE_CODIGO);CREATE TABLE DEPENDENTE ( DEP_NUM_SEQUENCIA INTEGER NOT NULL ,CLI_NUM_CPF VARCHAR(11) NOT NULL ,GPA_CODIGO INTEGER NOT NULL ,DEP_NOME VARCHAR(50) NOT NULL ,CONSTRAINT PK_DEPENDENTE PRIMARY KEY (DEP_NUM_SEQUENCIA, CLI_NUM_CPF));CREATE INDEX IXFK_DEPENDENTE_1_CLI_NUM_CPF ON DEPENDENTE (CLI_NUM_CPF);CREATE INDEX IXFK_DEPENDENTE_2_GPA_CODIGO ON DEPENDENTE (GPA_CODIGO);CREATE TABLE FUNCIONARIO ( FUN_NUM_CPF VARCHAR(11) NOT NULL ,AGE_CODIGO INTEGER NOT NULL ,FUN_NOME VARCHAR(50) NOT NULL ,FUN_NUM_TELEFONE VARCHAR(20) ,CONSTRAINT PK_FUNCIONARIO PRIMARY KEY (FUN_NUM_CPF));CREATE INDEX IXFK_FUNCIONARIO_1_AGE_CODIGO ON FUNCIONARIO (AGE_CODIGO);CREATE TABLE GRAU_PARENTESCO ( GPA_CODIGO SERIAL NOT NULL ,GPA_DESCRICAO VARCHAR(40) NOT NULL ,CONSTRAINT PK_GRAU_PARENTESCO PRIMARY KEY (GPA_CODIGO));CREATE TABLE MUNICIPIO ( MUN_CODIGO SERIAL NOT NULL ,MUN_NOME VARCHAR(40) NOT NULL ,CONSTRAINT PK_MUNICIPIO PRIMARY KEY (MUN_CODIGO));CREATE TABLE PROFISSAO ( PRO_CODIGO SERIAL NOT NULL ,PRO_DESCRICAO VARCHAR(50) NOT NULL ,CONSTRAINT PK_PROFISSAO PRIMARY KEY (PRO_CODIGO));CREATE TABLE TELEFONE ( CLI_NUM_CPF VARCHAR(11) NOT NULL ,TEL_NUMERO INTEGER NOT NULL ,CONSTRAINT PK_TELEFONE PRIMARY KEY (CLI_NUM_CPF, TEL_NUMERO) 13
  • 14. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________);CREATE INDEX IXFK_TELEFONE_1_CLI_NUM_CPF ON TELEFONE (CLI_NUM_CPF);CREATE TABLE TRANSACAO ( TRN_NUMERO SERIAL NOT NULL ,CLI_NUM_CPF VARCHAR(11) NOT NULL ,CTA_NUMERO INTEGER NOT NULL ,TRN_COD_TIPO CHAR(1) ,TRN_DATA TIMESTAMP ,TRN_VALOR DECIMAL(12,2) ,CONSTRAINT PK_TRANSACAO PRIMARY KEY (TRN_NUMERO));CREATE INDEX IXFK_TRANSACAO_1_CTA_NUMERO ON TRANSACAO (CTA_NUMERO);CREATE INDEX IXFK_TRANSACAO_2_CLI_NUM_CPF ON TRANSACAO (CLI_NUM_CPF);CREATE TABLE UNIDADE_FEDERATIVA ( UFD_SIGLA VARCHAR(2) NOT NULL ,UFD_NOME VARCHAR(40) NOT NULL ,CONSTRAINT PK_UNIDADE_FEDERATIVA PRIMARY KEY (UFD_SIGLA));ALTER TABLE AGENCIA ADD CONSTRAINT FK_AGENCIA_UNIDADE_FEDERATIVA FOREIGN KEY (UFD_SIGLA) REFERENCES UNIDADE_FEDERATIVA (UFD_SIGLA);ALTER TABLE AGENCIA ADD CONSTRAINT FK_AGENCIA_MUNICIPIO FOREIGN KEY (MUN_CODIGO) REFERENCES MUNICIPIO (MUN_CODIGO);ALTER TABLE CLIENTE ADD CONSTRAINT FK_CLIENTE_PROFISSAO FOREIGN KEY (PRO_CODIGO) REFERENCES PROFISSAO (PRO_CODIGO);ALTER TABLE CLIENTE ADD CONSTRAINT FK_CLIENTE_UNIDADE_FEDERATIVA FOREIGN KEY (UFD_SIGLA) REFERENCES UNIDADE_FEDERATIVA (UFD_SIGLA);ALTER TABLE CLIENTE ADD CONSTRAINT FK_CLIENTE_MUNICIPIO FOREIGN KEY (MUN_CODIGO) REFERENCES MUNICIPIO (MUN_CODIGO);ALTER TABLE CLIENTE_CONTA ADD CONSTRAINT FK_CLIENTE_CONTA_CLIENTE FOREIGN KEY (CLI_NUM_CPF) REFERENCES CLIENTE (CLI_NUM_CPF);ALTER TABLE CLIENTE_CONTA ADD CONSTRAINT FK_CLIENTE_CONTA_CONTA FOREIGN KEY (CTA_NUMERO) REFERENCES CONTA (CTA_NUMERO);ALTER TABLE CONTA ADD CONSTRAINT FK_CONTA_AGENCIA FOREIGN KEY (AGE_CODIGO) REFERENCES AGENCIA (AGE_CODIGO);ALTER TABLE DEPENDENTE ADD CONSTRAINT FK_DEPENDENTE_CLIENTE FOREIGN KEY (CLI_NUM_CPF) REFERENCES CLIENTE (CLI_NUM_CPF);ALTER TABLE DEPENDENTE ADD CONSTRAINT FK_DEPENDENTE_GRAU_PARENTESCO FOREIGN KEY (GPA_CODIGO) REFERENCES GRAU_PARENTESCO (GPA_CODIGO);ALTER TABLE FUNCIONARIO ADD CONSTRAINT FK_FUNCIONARIO_AGENCIA FOREIGN KEY (AGE_CODIGO) REFERENCES AGENCIA (AGE_CODIGO);ALTER TABLE TELEFONE ADD CONSTRAINT FK_TELEFONE_CLIENTE FOREIGN KEY (CLI_NUM_CPF) REFERENCES CLIENTE (CLI_NUM_CPF);ALTER TABLE TRANSACAO ADD CONSTRAINT FK_TRANSACAO_CONTA FOREIGN KEY (CTA_NUMERO) REFERENCES CONTA (CTA_NUMERO) 14
  • 15. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________;ALTER TABLE TRANSACAO ADD CONSTRAINT FK_TRANSACAO_CLIENTE FOREIGN KEY (CLI_NUM_CPF) REFERENCES CLIENTE (CLI_NUM_CPF); 15
  • 16. UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL Curso de Bacharelado em Sistemas de Informação Curso de Licenciatura em Computação Banco de Dados Professores executores: João Murilo Dourado de Azevedo e Mônica Simões Bandeira _________________________________________________________________f) Scripts das Consulta SQL (SQL/DML)Aguardem em nova versão..._________________ Fim do Exemplo de Projeto de BD ________________________ 16