




































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Aula 1 Lógica de programação e algoritmos
Tipologia: Notas de aula
1 / 44
Esta página não é visível na pré-visualização
Não perca as partes importantes!
O tema Banco de Dados é um conhecimento que deve ser adquirido pelos profissionais da área de tecnologia, pois basicamente todas as informações, de uma forma ou outra, encontram-se armazenadas em Bancos de Dados. Neste estudo, abordaremos os conceitos e as técnicas que você precisará para ingressar no universo de Banco de Dados Relacional, abrangendo desde os aspectos de modelagem até a utilização da linguagem Structured Query Language (SQL) para a manipulação das informações. Apresentaremos e discutiremos tópicos que o ajudarão a desenvolver habilidades para a interpretação e análise de informações, ingressando, assim, em um processo de reflexão sobre o desenvolvimento de um Banco de Dados e as melhores práticas de atuação como profissional da área. Aliando a teoria e a prática, apoiaremos você em cada passo desse caminho, acompanhando-o no processo de construção de uma base de dados e discutindo sobre as melhores abordagens, metodologias existentes, suas formas de aplicação e implementação em soluções práticas no desenvolvimento. Nesta primeira etapa, apresentaremos os principais conceitos sobre o Sistema Gerenciador de Banco de Dados (SGBD), os tipos de modelos de dados, as etapas da modelagem de dados, a construção do Modelo Entidade- Relacionamento (MER) e a influência da cardinalidade exercida sobre o modelo de dados. Vale salientar que desenvolver uma forte base conceitual sobre Banco de Dados servirá de suporte fundamental na construção prática de projetos de Banco de Dados. São conceitos que você deverá manter em sua memória, pois com certeza os utilizará frequentemente no dia a dia de sua profissão. Bons estudos e sucesso!
Em todas as organizações existe a necessidade do armazenamento de informações. Além de uma forma adequada para definir o armazenamento dessas informações, os usuários realizam consultas em determinado conjunto de dados, atualizam ou modificam a estrutura dos dados e eliminam informações não necessárias.
Existem diversos conceitos utilizados para definir um Banco de Dados. Vejamos alguns deles:
É a representação do Banco de Dados, demonstrando a relação existente entre os dados. Os modelos de Banco de Dados são:
O Sistema de Banco de Dados Hierárquico ( Hierarquical Database System – HDS) surgiu na década de 1960 com a primeira linguagem de Banco
de Dados, conhecida como DL/I, desenvolvida pela IBM e a North American Aviation. Nesse modelo os dados são armazenados em estruturas no formato de árvore. Cada estrutura de dados parte de um nodo raiz (nó) e se ramifica criando relações pai-filho com outras classes de dados, gerando relações de um para muitos elementos. A desvantagem está na rigidez da estrutura de dados, em que, no caso de alterações da classe principal ou de classes dependentes, obrigaria que fosse refeito todo o Banco de Dados.
Também conhecido como Sistema de Banco de Dados em Rede ( Network Database System – NDS), esse modelo surgiu entre as décadas de 1960 e 1970 como uma extensão do modelo hierárquico, adicionando recursos para criação de mais de uma relação pai-filho e estabelecendo relações entre os seus elementos. Esse modelo possui a vantagem de uma pesquisa mais rápida e flexível, pois não depende de um único nó raiz como vetor de inicialização da pesquisa. Apesar disso, o modelo de rede ainda apresenta os problemas relatados no modelo anterior no que se refere à relação ao projeto de estrutura do modelo hierárquico. Qualquer alteração feita em uma classe de dados implicaria na criação de uma nova estrutura para suportar àquela alteração. Nesse caso, as relações entre os registros são feitas por meio de ponteiros que armazenam endereços de memória, indicando os endereços em que os dados realmente se encontram armazenados. O modelo em rede trabalha com registros vinculados uns aos outros, gerando conjuntos de dados.
Incorpora as características da metodologia de desenvolvimento orientado a objetos com os conceitos de Sistema Gerenciador de Banco de Dados (SGBD). Nesse modelo de dados, a informação é organizada e, consequentemente, armazenada sob a forma de objetos, inclusive com a
simples, qualquer formato de dados. Dessa forma, possibilita-se não só um desenvolvimento mais rápido, mas também uma melhor performance no tratamento de volumes muito grandes de requisições, gerando respostas mais rápidas;
Entre os dados armazenados fisicamente no disco rígido e os usuários do sistema, que manipulam esses dados, existe uma camada de software conhecida como Sistema Gerenciador de Banco de Dados (SGBD). O Sistema Gerenciador de Bancos de Dados é a interface entre os dados de baixo nível, armazenados em um Banco de Dados, e os usuários e as aplicações, que desejam acessar e manipular esses dados. O sistema de Banco de Dados é um sistema de manutenção de registros por computador e, para tanto, possui diversos recursos à disposição do usuário, possibilitando a realização de várias operações, como por exemplo:
Como objetivos, o SGBD deve:
Um SGBD deve ter algumas características que são essenciais para o seu funcionamento, tais como:
Figura 2 – Representação de um sistema de Banco de Dados
Fonte: Albano; Albano, 2022.
Podendo ser um ou mais responsáveis pela tarefa de gerenciamento do Banco de Dados, esses profissionais são responsáveis pela autorização de acesso ao Banco de Dados para os demais usuários, coordenação e monitoração do uso, ou seja, são eles que coordenam todas as atividades do sistema de Banco de Dados e possuem conhecimento sobre os recursos de informação da empresa e suas necessidades. Suas funções incluem:
O objetivo da modelagem de dados é a representação do cenário observado e suas necessidades, analisando, documentando, normalizando e detectando como as informações relacionam-se entre si, bem como fornecendo processos de validação que nos permitem avaliar a veracidade dos modelos desenvolvidos. Um Banco de Dados pode ser descrito ou modelado em vários níveis de abstração, sendo, assim, definidos três modelos básicos:
Todo bom sistema de Banco de Dados deve apresentar um projeto com objetivo de organizar as informações e utilizar técnicas para promover a criação de um sistema que apresente boa performance, além de facilitar o processo de manutenção que porventura possa ser necessária. O projeto de Banco de Dados consiste em quatro etapas:
Figura 4 – Exemplo de Modelo Entidade-Relacionamento (MER)
Fonte: Albano; Albano, 2022.
O modelo acima nos apresenta informações sobre as entidades Cliente e Cidade, em que para cada cliente será armazenado seu código de identificação, nome, endereço e código da cidade onde reside. Para cada cidade armazenaremos o código, o nome da cidade e a unidade federativa correspondente. Vale salientar que, no exemplo acima, a relação ou associação existente entre as duas entidades se baseia na premissa que UM cliente reside apenas em UMA cidade, mas UMA cidade poderá ter NENHUM ou VÁRIOS clientes residentes. Essa relação é denominada cardinalidade e será abordada com mais detalhes em um próximo tópico desse material de estudo.
Nesta fase, descrevemos o Banco de Dados no nível do SGBD, ou seja, todo modelo considerará as limitações e as características particulares do tipo de tecnologia presente no Banco de Dados escolhido. Suas características são:
Figura 5 – Exemplo de modelo lógico
Fonte: Albano; Albano, 2022.
Considera os limites impostos pelo Sistema Gerenciador de Banco de Dados (SGBD) e pelos requisitos não funcionais dos programas que acessam os dados. Características:
formar as tabelas do Banco de Dados. Por exemplo, informações sobre clientes, produtos, entregadores, restaurantes, entre outros;
Como já mencionamos, a entidade no modelo conceitual representa um objeto do qual desejamos armazenar as informações que serão utilizadas em uma aplicação. Por exemplo, o sistema de delivery necessita armazenar informações sobre os clientes. Como existem diversas informações sobre cada cliente, nesse caso, se faz necessário criar uma entidade com a função de representar esse objeto.
De acordo com a estrutura da chave primária e baseado no grau de dependência que uma entidade possui em relação às demais entidades do modelo, uma entidade poderá ser enquadrada como:
É a entidade que possui chave primária simples, ou seja, a sua chave primária não é composta pela chave primária de nenhuma outra entidade. Dessa forma, a entidade fundamental não necessita da existência de qualquer outra entidade para existir, pois é independente.
Por exemplo, entidades Cliente, Produto, Entregador, Restaurante, entre outras.
É a entidade definida a partir da simplificação de um relacionamento de muitos para muitos entre duas ou mais entidades. Por exemplo, em um relacionamento entre a entidade Pedido e a entidade Produto, ocorre a seguinte situação: um pedido pode conter um ou vários produtos e um produto pode ser vendido em nenhum ou vários pedidos. Com esse tipo de relacionamento surge a necessidade da criação de uma nova entidade (explicaremos melhor esse tipo de relacionamento no tópico sobre cardinalidade). Essa nova entidade poderá ser chamada de ItemPedido e nela serão armazenados alguns campos específicos, tais como quantidade vendida, valor do produto, desconto do produto, entre outros.
Essa entidade caracteriza-se pela dependência existencial, isto é, a entidade depende de uma outra entidade para poder existir no modelo. Em casos em que exista a entidade fraca, tanto o relacionamento quanto a entidade deverão serem representados com borda dupla. Por exemplo, em uma relação entre as entidades Funcionário e Dependente, sabemos que um funcionário poderá possuir nenhum ou vários dependentes. Dessa forma, a entidade Dependente apenas existe por causa da entidade Funcionário. Se eliminarmos a entidade Funcionário, consequentemente, a entidade Dependente desaparecerá devido a sua dependência.
Figura 7 – Exemplo de entidade fraca
Fonte: Albano; Albano, 2022.
Figura 9 – Exemplo de representação de uma entidade
Fonte: Albano; Albano, 2022.
Para aprimorar os conceitos, vamos implementar passo a passo um estudo de caso sobre uma rede de restaurantes que decidiu ter um aplicativo de delivery. O restaurante “Comer é Bom Demais” forneceu, inicialmente, as seguintes regras de negócio: