Prévia do material em texto
Graus de Abstração de Dados Modelagem Conceitual O objetivo aqui é criar um modelo conceitual de forma gráfica, sendo este chamado de Diagrama Entidade e Relacionamento (DER), que identificará todas as entidades e relacionamentos de uma forma global. Aqui é evitado qualquer detalhamento específico do modelo de BD. O modelo conceitual mais utilizado é o de ER, que é ajudado pelo DER, que na prática, constitui o modelo básico do BD. Este é utilizado para representar graficamente o esquema conceitual. Através deste modelo, teremos uma visão de cima (macro) compreendida de modo relativamente fácil sobre o ambiente de dados. Também é independente de hardware ou software, ou seja, não depende de nenhum SGBD utilizado para implantá-lo. Por tanto, qualquer alteração no software ou hardware, não terão efeito no nível conceitual. Modelagem Lógica Depois que selecionamos um SGBD, iremos mapear o modelo conceitual para ele. O projetista relaciona as características e restrições do modelo conceitual com as do modelo selecionado para implementação. O modelo lógico constitui uma representação específica de um modelo interno, utilizando as estruturas de BD suportada pelo banco escolhido. Em um Banco de Dados Relacional (BDR), o esquema interno é expresso utilizando linguagem SQL, por padrão. Neste nível, o modelo lógico depende do software. Por tanto, qualquer alteração feita no SGBD exigem que o modelo interno seja alterado para adequar-se às características e exigências de implementação do modelo de BD. Quando conseguimos alterar o modelo lógico sem afetar o modelo conceitual, teremos o que é chamado de independência lógica. No entanto, o modelo lógico continua independente de hardware, ou seja, qualquer alteração (escolha de um computador, sistema operacional diferente, etc) não afetará no modelo lógico. É nesta modelagem que serão definidas os padrões e nomenclaturas, chaves primárias e estrangeiras, sempre levando em conta o modelo conceitual criado anteriormente. Modelagem Física Aqui é trabalhado no nível mais baixo de abstração, descrevendo o modo como os dados são salvos em meios de armazenamentos, como discos e fitas, sendo exigido a definição tanto dos dispositivos de armazenamento físico como dos métodos de acesso (físico) necessários para se chegar aos dados nesse dispositivos, o que o torna dependente tanto de software como de hardware. Os projetistas precisam de um conhecimento detalhado do hardware e do software utilizado para implementar o projeto de BD. Não é necessário que o projetista se preocupe com as características do armazenamento físico dos dados, mas a implementação de um modelo relacional pode exigir sintonização refinada no nível físico para melhorar o desempenho, principalmente em BD muito grandes em ambientes mainframes. Níveis de Abstração de Dados MODELO GRAU DE ABSTRAÇÃO FOCO INDEPENDÊNCIA Externo Alto Visões dos usuários finais Hardware e Software Conceitual Média-Alta Visão global dos dados (independe do modelo do BD) Hardware e Software Lógica Média-Baixa Modelo específico de BD Hardware Físico Baixo Métodos de armazenamento e acesso Nem hardware ou software Exercícios para a criação de modelos conceitual, lógico e físico de um banco de dados: 1. Loja de Eletrônicos o Entidades: Produto, Fornecedor, Cliente, Venda 2. Clínica Médica o Entidades: Paciente, Médico, Consulta, Prontuário 3. Faculdade o Entidades: Aluno, Professor, Curso, Disciplina, Turma 4. Hotel o Entidades: Hóspede, Quarto, Reserva, Serviço 5. Financeira o Entidades: Cliente, Empréstimo, Parcela, Atendente 6. Operadora de Turismo o Entidades: Cliente, Pacote, Reserva, Destino, Guia 7. Instituto de Pesquisa o Entidades: Pesquisador, Projeto, Publicação, Financiador 8. Teatro o Entidades: Espetáculo, Artista, Ingresso, Sessão 9. Museu o Entidades: Exposição, Obra, Artista, Visitante o 10. Mercado de Produtos Orgânicos • Entidades: Produto, Fornecedor, Cliente, Venda Para cada cenário, você deve: • Conceitual: Identificar as entidades e seus relacionamentos. • Lógico: Definir os atributos para cada entidade e as relações entre elas. • Físico: Criar tabelas SQL correspondentes às entidades e relacionamentos. Demais exemplos de cenários: 1. Loja de Livros 2. Hospital 3. Escola 4. Restaurante 5. Banco 6. Agência de Viagens 7. Universidade 8. Cinema 9. Biblioteca 10. Supermercado 11. Farmácia 12. Academia de Ginástica 13. Estúdio de Música 14. Galeria de Arte 15. Concessionária de Carros 16. Imobiliária 17. Salão de Beleza 18. Pet Shop 19. Loja de Roupas 20. Padaria Para cada cenário, você deve: • Conceitual: Identificar as entidades e seus relacionamentos. • Lógico: Definir os atributos para cada entidade e as relações entre elas. • Físico: Criar tabelas SQL correspondentes às entidades e relacionamentos. Modelo Conceitual Entidades: Livro, Autor, Cliente, Compra Relacionamentos: Um Autor pode escrever vários Livros, um Livro pode ser comprado por vários Clientes, um Cliente pode fazer várias Compras. Modelo Lógico Entidades e Atributos: • Livro (ID_Livro, Título, ID_Autor) • Autor (ID_Autor, Nome) • Cliente (ID_Cliente, Nome) • Compra (ID_Compra, ID_Cliente, ID_Livro, Data) Relações: • Livro está associado a Autor através de ID_Autor. • Compra está associada a Cliente e Livro através de ID_Cliente e ID_Livro, respectivamente. Modelo Físico Tabelas SQL: SQL CREATE TABLE Autor ( ID_Autor INT PRIMARY KEY, Nome VARCHAR(100) ); CREATE TABLE Livro ( ID_Livro INT PRIMARY KEY, Título VARCHAR(100), ID_Autor INT, FOREIGN KEY (ID_Autor) REFERENCES Autor(ID_Autor) ); CREATE TABLE Cliente ( ID_Cliente INT PRIMARY KEY, Nome VARCHAR(100) ); CREATE TABLE Compra ( ID_Compra INT PRIMARY KEY, ID_Cliente INT, ID_Livro INT, Data DATE, FOREIGN KEY (ID_Cliente) REFERENCES Cliente(ID_Cliente), FOREIGN KEY (ID_Livro) REFERENCES Livro(ID_Livro) );