1 / 21

Modelo Relacional

Modelo Relacional. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Uma relação é uma tabela com linhas e colunas. Esquema da Relação (tabela). Descreve as colunas da tabela Especifica o nome da relação; o nome de cada campo (coluna ou atributo);

kyra-chavez
Download Presentation

Modelo Relacional

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modelo Relacional • Uma base de dados é • uma colecção de uma ou mais relações com nomes distintos • Uma relação é • uma tabela com linhas e colunas

  2. Esquema da Relação (tabela) • Descreve as colunas da tabela • Especifica • o nome da relação; • o nome de cada campo (coluna ou atributo); • o domínio de cada campo • tipo de dados (inteiro, texto, ...) • tamanho (nº caractéres)

  3. Instância da Relação • É um conjunto de tuplos ou registos • Cada tuplo tem o mesmo número de campos que o esquema da relação • Pode ser vista como uma tabela onde • cada tuplo é uma linha e • todas as linhas têm o mesmo número de campos • Relação = Instância da Relação

  4. Exemplo Tabela Campos (atributos ou colunas) nomes dos campos Tuplos ou registos

  5. Características • Uma relação é um conjunto de tuplos únicos • não existem duas linhas iguais • a ordem de apresentação das linhas não é importante • Restrições de domínio • os valores que aparecem em cada coluna devem respeitar o domínio definido no esquema • Definições • Grau = número de atributos • Cardinalidade = número de tuplos

  6. Esquema de tabelas DEA Desenho Esquema de tabelas

  7. Esquema de tabelas (ETb): regras • O esquema de tabelas (ETb) define as tabelas relacionais, atributos e o acesso aos dados (chaves). • Cada entidade e associação do DEA poderia originar uma tabela, mas assim obteríamos um número desnecessariamente grande de tabelas. • O objectivo é optimizar o número de tabelas, garantindo que não há atributos com valores indefinidos. nome tabela chave primária atributos identificadores atributos descritores chave primária de outra tabela chaves externas

  8. ETb: associação 1:1 • Caso 1 • Associação 1:1 obrigatória nos dois sentidos. • Uma tabela 1 1 Posição arquivo arquivado Livro Livro Livro = @código_livro + título + editora + ano Posição_arquivo = @código_arquivo + tipo código_arquivo = armário + prateleira código_livro título editora ano armário prateleira tipo

  9. ETb: associação 1:1 • Uma associação 1:1 obrigatória nos dois sentidos pode originar duas tabelas, dependendo da importância de cada objecto no sistema. • Duas tabelas, cada uma com uma chave externa. 1 1 Camião conduz Condutor Condutor = @número_condutor + nome + morada + salário Camião = @matrícula + marca + carga Condutor Camião número_condutor matrícula nome morada salário marca carga número_condutor matrícula

  10. ETb: associação 1:1 • Uma associação 1:1 obrigatória só num sentido. • Duas tabelas e uma chave externa na tabela correspondente à entidade obrigatória na associação. 1 1 Garagem tem Apartamento Apartamento = @código_apartamento + área + número_divisões Garagem = @código_garagem + número_lugares + área Garagem Apartamento código_garagem código_apartamento número_lugares área área número_divisões código_apartamento Nota: os atributos não podem ter valores nulos.

  11. ETb: associação 1:1 • Uma associação 1:1 opcional nos dois sentidos. • Três tabelas, uma por cada entidade e uma para a associação. 1 1 Garagem tem Apartamento Apartamento = @código_apartamento + área + número_divisões Garagem = @código_garagem + número_lugares + área Garagem Tem (propriedade) Apartamento código_garagem código_apartamento código_apartamento número_lugares área código_garagem área número_divisões Há garagens que pertencem a pessoas sem apartamento.

  12. ETb: associação 1:N • Caso 2 • Uma associação 1:N obrigatória nos dois sentidos. • Duas tabelas. A tabela de baixo na hierarquia fica com a chave da tabela de cima na hierarquia. 1 N Apólice subscreve Cliente Cliente = @número_cliente + nome+ morada Apólice = @número_apólice + capital + prémio + unidade_risco Apólice Cliente número_apólice número_cliente capital prémio unidade_risco nome morada número_cliente

  13. ETb: associação 1:N • Uma associação 1:N obrigatória só num sentido. • Duas tabelas. A tabela subalterna na hierarquia fica com chave externa. 1 N Aluguer efectua Cliente Cliente = @número_cliente + nome+ morada Aluguer = @número_aluguer + data + situação Aluguer Cliente número_aluguer número_cliente data situação nome morada número_cliente

  14. ETb: associação 1:N • Uma associação 1:N obrigatória no outro sentido. • Três tabelas. Uma para cada entidade e uma para a associação. 1 N Empregado trabalha Departamento Departamento = @número_departamento + nome + localização Empregado = @número_empregado + nome + morada + salário Empregado Trabalha Departamento número_empregado número_departamento número_departamento número_empregado nome morada salário nome localização

  15. Paciente Contém Enfermaria código_paciente número_enfermaria número_enfermaria código_paciente nome morada ... tipo local ETb: associação 1:N • Uma associação 1:N opcional nos dois sentidos. • Três tabelas. 1 N Paciente contém Enfermaria Enfermaria = @número_enfermaria + tipo + local Paciente = @código_paciente + nome + morada + ... Um paciente pode ser interno ou externo.

  16. Fornece Produto código_produto código_produto número_fornecedor nome quantidade ETb: associação N:M • Caso 3 • Uma associação N:M qualquer que seja o grau mínimo. • Três tabelas, uma por cada entidade e uma cuja chave é a concatenação das chaves das entidades envolvidas na associação. N M Fornecedor fornece Produto Produto = @código_produto + nome + quantidade Fornecedor = @número_fornecedor + nome +morada + telefone + fax Fornecedor número_fornecedor nome morada telefone fax

  17. ETb: entidade associativa • Caso 5 • Entidade associativa, qualquer que seja o grau da associação. • Três tabelas. M N Encomenda Produto Produto = @código_produto + descrição + peso + cor Encomenda = @número_encomenda + data_emissão + data_recepção Pedido = @número_pedido + quantidade_pedida número_pedido = número_encomenda + código_produto Pedido Produto Pedido Encomenda código_produto número_encomenda código_produto número_encomenda descrição peso cor data_emissão data_recepção quantidade_pedida

  18. ETb: entidade associativa Outro exemplo: 1 N Médico família Doente Médico_família = @número_médico + nome + morada + especialidade Doente = @número_doente + nome + morada + regime Trata = @código_tratamento + data_tratamento código_tratamento = número_médico + número_doente Trata Doente Trata Médico família número_doente número_médico número_doente número_médico nome morada regime nome morada especialidade data_tratamento

  19. ETb: associação unária • Caso 6 • Associação unária de 1:1 • Duas tabelas. 1 (marido) Pessoa Pessoa = @número_BI + nome + morada + altura 1 é casado (esposa) Casamento Pessoa número_BI_esposa número_BI_marido número_BI Uma (instância de) pessoa pode desempenhar um de dois papéis: esposa ou marido. nome morada altura

  20. ETb: associação unária • Caso 7 • Associação unária de 1:N • Origina uma tabela. (orientando) N Empregado Empregado = @número_empregado + nome + morada + categoria 1 orienta (orientador) Empregado número_empregado nome morada categoria número_orientador O empregado senior “orienta-se” a si próprio.

  21. Exemplo Reserva Quarto Cliente n_reserva BI n_quarto nome dias_reservados data_chegada hora_chegada n_camas situação categoria preço descrição nome morada data_nasc telefone n_quarto BI Factura Pedido despertar n_factura n_pedido data valor_total data hora n_reserva BI n_quarto

More Related