Disciplina: Banco de Dados I Professora: Ms. Márcia Jani 1 Trabalho de BD1 Objetivo O objetivo deste trabalho é aplicar os conceitos aprendidos nas aulas, em um projeto prático de modelagem, implementação e implantação de um banco de dados real. Critérios de Avaliação Os critérios de avaliação serão: Tamanho e complexidade do projeto (tamanho do esquema de banco de dados relacional necessário para atender o sistema a ser criado); Cumprimento do projeto (cumprimento de todas as etapas do projeto, e se foi feito de maneira correta); Entrega do projeto (entrega na data prevista em cada etapa); Apresentação dos Projetos (Projeto/ Modelagem e desenvolvimento do Banco de Dados 40% da nota conforme plano de ensino) Etapas do Trabalho 1. Construção de um cronograma para as atividades do trabalho (29/03) 2. Levantamento de Requisitos do Sistema (29/03) 3. Modelagem Conceitual com Modelo Entidade-Relacionamento (MER) (05/04) 4. Geração do Dicionário de Dados (19/04) 5. Obtenção do Modelo Relacional (10/05) 6. Geração de Scripts SQL para implementação (17/05) 7. Realização de consultas (três, sendo duas delas envolvendo pelo menos duas tabelas) (29/05) 8. Entrega do trabalho (07/06) 9. Apresentação dos projetos (14 a 19/06) Prazo de Entrega: O trabalho deve ser entregue até o dia 07/06/2013 (sexta-feira). Apresentação dos projetos: (14 a 19/06) Conteúdo a ser Entregue
2 1. Cronograma de atividades do trabalho impresso 2. Documento impresso, contendo: a. Capa com identificação da equipe, da disciplina etc. b. Índice (opcional) c. Requisitos do Sistema (ver descrição a seguir) d. Modelagem Conceitual com MER e Dicionário de Dados (ver descrição a seguir) e. Modelo Relacional (ver descrição a seguir) f. Scripts SQL (ver descrição a seguir) g. Consultas (ver descrição a seguir) h. Data e assinatura dos integrantes da equipe, com indicação dos integrantes que participaram de cada etapa do projeto (ver modelo no fim do documento) 3. Arquivo zipado/compactado, contendo: a. Arquivo texto com os Scripts SQL b. Arquivo texto com as Consultas c. Arquivo com a parte documental do projeto Etapa 1 Construção de um cronograma para as atividades do trabalho Deve ser construído um cronograma para desempenhar as atividades do trabalho. O cronograma deve seguir o modelo indicado a seguir: Cronograma de atividades Atividade 1 Atividade 2... 11/03 a 18/03 18/03 a 25/03 25/03 a 01/04 01/04 a 08/04.................. Atividades: 1. Construção de um cronograma para as atividades do trabalho 2. Levantamento de Requisitos do Sistema 3. Modelagem Conceitual com Modelo Entidade-Relacionamento (MER) 4. Geração do Dicionário de Dados 5. Obtenção do Modelo Relacional 6. Geração de Scripts SQL para implementação 7. Realização de consultas (três, sendo duas delas envolvendo pelo menos duas tabelas) 8. Entrega do trabalho Etapa 2 Levantamento de Requisitos do Sistema
3 Nos Requisitos do Sistema, devem estar registrados: uma breve descrição do sistema (1 parágrafo), o funcionamento do sistema e a descrição das informações a serem armazenadas por ele (quantos parágrafos forem necessários). Exemplo: Está em processo de instalação uma filial da clínica Saúde! Para isso, os gerentes da clínica contrataram a nossa empresa para fazer a implementação do sistema para gerenciamento de consultas feitas por pacientes a médicos da clínica. Como parte da construção deste sistema, esta equipe ficou responsável por fazer a implementação do seu banco de dados. A clínica precisa registrar todos os médicos que podem atender consultas feitas por pacientes. De cada médico, é necessário saber o número do CRM (Conselho Regional de Medicina) e o nome. Pacientes devem ter também o nome cadastrado, bem como um código gerado automaticamente. O sistema deve armazenar a data e a hora em que cada consulta foi realizada. Etapa 3 Modelagem Conceitual com Modelo Entidade-Relacionamento (MER) A Modelagem Conceitual tem como objetivo representar os aspectos a serem atendidos no desenvolvimento do banco de dados. Na modelagem conceitual utilizando Modelo Entidade- Relacionamento, deve ser apresentado um Diagrama Entidade-Relacionamento (DER) condizente com o levantamento de requisitos feito previamente. Para construir o DER, utilize as regras de construção discutidas em sala (entidades, relacionamentos e atributos). Médico Paciente Crm NomeM DataHora Codigo NomeP Etapa 4 Geração do Dicionário de Dados O Dicionário de Dados tem como objetivo dar suporte às informações contidas em um Diagrama Entidade-Relacionamento, fornecendo informações que não podem ser representadas neste último. Criar uma tabela para cada entidade e para cada relacionamento contidos no Diagrama Entidade- Relacionamento. Entidades Nome da Entidade: indicar o nome da entidade.
4 Nome do Atributo: indicar o nome do atributo. Tipo do Atributo: indicar o tipo do atributo (se é simples ou composto), (se é valor único ou multivalorado), (se é derivado), (se é identificador). Tipo de Dados do Atributo: indicar o tipo de dados do atributo (se é inteiro, decimal, data/hora, string). Observações: indicar observações adicionais que não podem ser representadas no Diagrama Entidade-Relacionamento. Relacionamentos Nome do Relacionamento: indicar o nome do relacionamento. Nome da Entidade: indicar o nome da entidade. Cardinalidade: indicar as cardinalidades máxima e mínima do lado da entidade. Exemplo: Nome da Entidade: Médico Nome do Atributo Tipo do Atributo Tipo de Dados do Atributo CRM Simples, valor único, identificador Numérico NomeM Simples, valor único String Observações: Esta entidade representa um médico no domínio, que deve consultar um paciente. Nome da Entidade: Paciente Nome do Atributo Tipo do Atributo Tipo de Dados do Atributo Código Simples, valor único, identificador Numérico NomeP Simples, valor único String Observações: Esta entidade representa um paciente no domínio, que deve ser consultado por um médico. Nome do Relacionamento: Consulta Nome da Entidade Cardinalidade Médico (1, N) Paciente (0, N) Nome do Atributo Tipo do Atributo Tipo de Dados do Atributo DataHora Simples, valor único, identificador Data/hora Observações: Este relacionamento associa um paciente a um médico. Um médico pode não ter atendido nenhum paciente, porém um paciente deve estar associado a um médico (ter feito um consulta ou pelo menos ter agendado uma consulta). Etapa 5 Obtenção do Modelo Relacional No Modelo Relacional, um conjunto de tabelas contendo campos, chaves primárias e chaves estrangeiras pode ser utilizado para armazenar informações, dando suporte ao sistema em implementação. Para cada uma das tabelas listadas, devem ser descritos o(s) campo(s) entre parênteses, a chave primária sublinhada, e a(s) chave(s) estrangeira(s), se houver, indicando a tabela que referenciam.
Exemplo: Modelo Lógico em esquemas 5 Medico (Crm, NomeM) Paciente (Codigo, NomeP) Consulta (CrmMedico, CodPaciente, DataHora) CrmMedico referencia Medico (Crm) CodPaciente referencia Paciente (Codigo) Obs: acrescentar também o modelo lógico em tabelas, usando a ferramenta BrModelo Etapa 6 Geração de Script SQL para Implementação No Script SQL, devem estar contidos os comandos para criação do banco de dados e de suas tabelas. Devem também haver alterações das tabelas, se necessário (por exemplo, para indicação de chaves estrangeiras etc.) Exemplo: CREATE DATABASE clinica; CREATE TABLE Medico ( Crm INTEGER, NomeM VARCHAR(20), PRIMARY KEY (Crm) ); CREATE TABLE Paciente ( Codigo INTEGER, NomeP VARCHAR(20), PRIMARY KEY (Codigo) ); CREATE TABLE Consulta ( CrmMedico INTEGER, CodPaciente INTEGER, DataHora DATETIME, FOREIGN KEY (CrmMedico) REFERENCES Medico (Crm), FOREIGN KEY (CodPaciente) REFERENCES Paciente (Codigo), PRIMARY KEY(CrmMedico, CodPaciente, DataHora) ); Etapa 7 Realização de Consultas Consulta 1: Recuperar os nomes de todos os pacientes. SELECT NomeP FROM Paciente;
6 Consulta 2: Recuperar os nomes dos pacientes consultados pelo médico de nome José depois de 1º de Janeiro de 2010. SELECT NomeP FROM Paciente, Medico WHERE Paciente.Codigo = Consulta.CodPaciente AND Consulta.CrmMedico = Medico.Crm AND Medico.NomeM LIKE José AND Consulta.DataHora > 2010/01/01 ; Consulta 3:... Informações adicionais Nesta seção, devem ser feitas observações gerais sobre o trabalho: Justificando a tomada de decisão sobre alguma atividade Relatando dificuldades enfrentadas Explicando a não realização de alguma das tarefas Outras observações Presidente Epitácio, de de. Equipe responsável: Fulano de Tal (Coordenador) Beltrano de Tal Outro Fulano de Tal Cicrano de Tal Outro Beltrano de Tal Etapa 1 Levantamento de Requisitos do Sistema: Beltrano de Tal Cicrano de Tal Etapa 2 Modelagem Conceitual com Modelo Entidade-Relacionamento (MER):
Cicrano de Tal Outro Fulano de Tal Outro Beltrano de Tal 7 Etapa 3 Geração do Dicionário de Dados: Outro Fulano de Tal Etapa 4 Obtenção do Modelo Relacional: Outro Beltrano de Tal Etapa 5 Geração de Script SQL para Implementação: Beltrano de Tal Outro Fulano de Tal Etapa 6 Realização de Consultas: Outro Beltrano de Tal Cicrano de Tal