Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso de Tecnologia em Sistemas de Computação Disciplina Banco de Dados AD1 2° semestre de 2015. Nome:______________________________________________________________________________ Observações: 1. Prova COM consulta. 2. As ADs deverão ser postadas na plataforma antes do prazo final de entrega estabelecido no calendário de entrega de ADs. 3. Lembre-‐se de enviar as ADs para avaliação. Cuidado para não deixar a AD como “Rascunho” na plataforma! 4. ADs em forma de “Rascunho” não serão corrigidas! 5. As ADs devem ser enviadas no formato de arquivo PDF ou DOC. No caso de arquivos no formato DOC, eles devem conter apenas o link para o Google Drive. 6. ADs entregues em outros formatos não serão corrigidas! Atenção: Como a avaliação à distância é individual, caso seja constatado que provas de alunos distintos são cópias umas das outras, independentemente de qualquer motivo, a todas será atribuída a nota ZERO. As soluções para as questões podem sim, ser buscadas por grupos de alunos, mas a redação final de cada prova tem que ser individual. ____________________________________________________________________________________ Questão 1. [1,0 ponto] Explique, com suas palavras, apenas duas funções básicas de um Sistema de Gerência de Banco de Dados (SGBD). Vale ressaltar que o objetivo neste exercício não consiste em apenas citar as funções, mas também em explicar sucintamente as funções que você escolher. Duas funções podem ser selecionadas e explicadas a partir das seguintes opções: • Recuperação de Falhas: o SGBD deve garantir que sempre que ocorra alguma falha, a base de dados possa retornar para um estado consistente. • Integridade dos dados: garantia dos dados sempre consistentes em relação às restrições de integridade. • Segurança: garantia de que não aconteça violação das restrições de acesso aos dados. • Controle de Concorrência: garantia de que não ocorram problemas quando houver acessos simultâneos de leitura e modificação dos dados. • Independência de dados: mudanças na organização física dos dados na base de dados não devem interferir nas estruturas de acesso aos dados da aplicação, podendo ter vários níveis de independência (isto é, independências física, lógica e semântica). Questão 2. [1,0 ponto] Que recursos um SGBD possui para prover independência de dados e acesso eficiente aos dados? Os SGBDS possuem três níveis de representação de dados, e a definição de mapeamentos entre os níveis. Os esquemas de representação físico e lógico isolam os dados de características internas de armazenamento físico e representação lógica no modelo relacional. Os esquemas lógico e externo proveem independência das representações de dados quanto ao projeto lógico, possibilitando diferentes visões externas de um mesmo esquema lógico. Assim, estruturas de dados podem evoluir à medida que novos requisitos são definidos tornando os dados independentes de sua representação. O acesso eficiente ocorre pelo fato de os algoritmos de acesso aos dados do SGBD conhecerem a representação física dos dados e tirarem proveito disso. Além disso, existem recursos disponíveis no nível físico, como índices, estruturas de armazenamento alternativas para que o usuário defina acessos ainda mais eficientes que serão utilizados automaticamente pelo SGBD. Questão 3. [1,0 ponto] Quais são os tipos de erros que um diagrama de Entidade Relacionamento (ER) pode conter? Defina-‐os e discuta estratégias para a verificação de modelos ER quanto à sua correção. Um diagrama ER pode conter dois tipos de erros: sintáticos e semânticos. Os erros sintáticos são aqueles que acontecem quando as regras de formação do modelo ER não são seguidas. Por exemplo, quando incluímos um relacionamento de uma entidade com um atributo, quando especializamos um relacionamento, ou quando associamos atributos a atributos. Para verificar este tipo de erro, basta checar se existem construções inválidas no modelo. Já os erros semânticos acontecem quando um diagrama não expressa a realidade modelada de forma correta. Este tipo de erro é mais difícil de ser verificado. O ideal, nestes casos, é envolver o usuário para que ele ajude na validação. Questão 4. [2,0 pontos] Analise o diagrama ER abaixo. Suponha que deseja-‐se incluir os seguintes atributos: • um atributo data para indicar a data do casamento • um atributo para indicar o CPF da pessoa • um atributo para indicar a data de separação do casal, caso o casal tenha de fato se separado • um atributo para indicar o regime do casamento (comunhão total de bens, comunhão parcial de bens, etc.) Para cada um dos atributos acima, indique onde ele deve ser colocado no diagrama e justifique sua decisão. Redesenhe o diagrama com os novos atributos. Indique a cardinalidade de cada um dos atributos. • Os atributos data do casamento, data de separação e regime devem ser incluídos no relacionamentocasamento, já que eles não são informações específicas de pessoa, e sim do casamento em si (cada ocorrência de um par pessoa/pessoa, no relacionamento de casamento possui estas informações). • O atributo CPF deve ser incluído na entidade pessoa, já que é informação específica de pessoa (cada ocorrência de pessoa possui um CPF) Questão 5. [1,5 ponto] Uma biblioteca municipal deseja implantar um sistema para controle dos empréstimos de livros de seu município. Para isso, tal biblioteca contratou uma empresa para desenvolver o sistema de empréstimo de livros baseando-‐se nos seguintes requisitos: • Para o cadastro nessa biblioteca, os usuários precisam informar seu nome completo, data de nascimento, CPF e endereço residencial, sendo que a biblioteca utilizará o número do CPF como identificador único de cada usuário; • Cada usuário pode realizar vários empréstimos, sendo que cada empréstimo é descrito por um identificador e a data do empréstimo. Somando-‐se a isso, um empréstimo consiste em um usuário tomar emprestado um ou mais livros existentes na biblioteca com um determinado prazo para devolução (isto é, uma data para devolução dos livros envolvidos no empréstimo); • Um livro é descrito por um código de identificação da biblioteca, um nome e um conjunto de autores; • Cada autor apresenta um identificador único e o seu nome completo. Questão 6. [2,0 pontos] O Supermercado Expresso deseja desenvolver um sistema para a entrega de produtos aos seus clientes. Para isso, o sistema precisa atender aos seguintes requerimentos: • Ao realizar seus pedidos, os clientes são cadastrados pelo nome completo, CPF e um endereço para entrega; • Cada pedido de entrega de um cliente é caracterizado por um conjunto de itens solicitados e uma ou mais formas de pagamento; • Cada item solicitado deve descrever a quantidade reservada para o item requerido; • Cada item apresenta um código de identificação, uma descrição e um preço; • Um pedido de entrega realizado pode ser pago em cheque, cartão de crédito e dinheiro. No caso de cheque, o número e a data do cheque devem ser cadastrados no sistema, enquanto que, para pagamentos em cartão de crédito, o número do cartão, a bandeira do cartão e o identificador da transação financeira precisam ser cadastrados no sistema; • Somando-‐se a isso, um pedido de entrega precisa conter informações quanto à data do pedido, assim como o peso e o volume dos itens a serem transportados; • Para cada solicitação, é necessário armazenar o status da entrega: confirmação da entrega ou o motivo do não cumprimento. É necessário também controlar os pagamentos das solicitações de entrega, quanto ao valor do pedido. Modele um diagrama ER que reflita esta realidade. Sua modelagem deve conter ao menos: cardinalidades máximas e mínimas, e identificadores. Questão 7. [1,5 ponto] Considere o seguinte esquema relacional: Cliente(cid: integer, cnome: string, end: string) Produto (pid: integer, pnome: string, tid: integer, preço: real) Compra (cid: integer, pid: integer, quantidade: integer) Tipo (tid: integer, tnome: string) No esquema acima, as chaves primárias estão sublinhadas. A tabela de Compra lista a quantidade de itens de um mesmo produto comprados por um cliente. Apresente, para cada consulta a seguir, as expressões em álgebra relacional correspondentes às consultas. a) Obtenha o cid e a quantidade de um produto para todas as compras. Πcid, quantidade (Compra) b) Obtenha o cid do cliente de nome “Carlos Eduardo”. Πcid ( σcnome=”Carlos Eduardo” Cliente) c) Obtenha o nome dos produtos com preço superior a R$ 50,00. Πpnome (σpreço>50,00 Produto)
Compartilhar