[Música] Olá pessoal tudo tranquilo vamos para mais uma aula de banco de dados um essa aula nós vamos ver especificamente o sistema gerenciadores de banco de dados tals sgbds e as etapas do projeto de banco de dados para a gente entender bem onde essa disciplina se encaixa o que que ela vai trabalhar tá os sgbds então o sgbd o software que trata do acesso ao banco de dados ele vai fornecer basicamente a interface entre os dados de baixo nível armazenados no banco de dados em si e os programas aplicativos que os excessos e a solicitações
submetidas a esse sistema tá Quais são os objetivos do fgbd primeiro é a abstração de dados ou seja isolar os usuários dos detalhes mais internos do banco de dados como nós já vimos naqueles níveis de abstração tá e fornecer uma estrutura física e estratégia de acesso tá provendo independência dos dados em relação às aplicações beleza conceitualmente o sgbd usuário Então faz um pedido de acesso usando determinada linguagem de dados o sgbd Então vai interceptar o pedido e vai analisar ele faz uma inspeção do esquema externo dos mapeamentos todos até a definição lá no banco na
questão interna ele executa as operações necessárias sobre o banco de dados que está armazenado E aí devolve para o usuário então basicamente nessa imagem aqui ó o sgbd tá aqui e vejam que ele se relaciona em diversos níveis com todos esses com todo esse pessoal aqui então eu tenho aqui o dba tá o Database administrator o cara que vai administrar o banco de dados aqui o administrador e o sgbd ele tanto se vincula e se relaciona lá com o usuário através de uma linguagem Conto com a visão externa ali para definir esses mapeamentos externo conceitual
a visão conceitual e o mapeamento aqui a visão interna em si tá então isso deveria ter envolvido em todas eles se relaciona e tá envolvido em todas esses níveis de abstração e etapas que de uso e de acesso ao banco de dados tarefas que conhece GBD fornece ele faz a interação com sistema de arquivos do sistema operacional ele promove a manutenção da integridade dos dados me garante então que os dados que eu armazenei e as questões que eu restringi vão se manter ele faz o controle de concorrência de acesso ou seja duas pessoas acessando ao
mesmo tempo dois aplicativos querendo gravar o mesmo registro como é que se organiza é com o sgbd ele vai fornecer também questões de cópia de segurança e de recuperação dessas cópias e Recuperação desses dados que eu por Aventura tenha feito cópia de segurança em me garantiu a Segurança contra um acesso indevido que porventura alguém tente realizar tá e como ele faz isso através de arquitetura de um modo centralizada ou no modelo cliente servidor arquitetura centralizada é um computador com uma grande capacidade de processamento e ele hospeda esse sgbd E aí vai ter emulador para várias
aplicativos que porventura vão precisar fazer o acesso a esses dados tá vantagem disso permitir que muitos usuários mas nem um grande volume de dados porém tem uma desvantagem o custo É imenso porque ele exige um ambiente muito especial para eu armazenar Esse chamado do Meio frames e soluções centralizadas isso é algo bastante em desuso atualmente tá o que mais se vê são arquitetura cliente servidor que ou seja o cliente vai executar as tarefas referentes ao aplicativo ou seja ele vai fornecer a interface do usuário tela e processamento de entrada e saída dos dados e os
servidor que é onde tá de fato digamos o sgb dele vai executar as consultas nesse GBD E vai retornar os resultados ao cliente aí é uma divisão de tarefas né de processamento entre as duas partes dessa arquitetura nesse caso aqui eu vou precisar de uma de soluções Digamos um pouquinho mais sofisticadas mas que hoje já é o comum nesse nesse software tá porque eu tenho que possibilitar como tratar essas transações né quando eu confirmo essas transações que elas ocorreram quando eu tenho que desfazer essas transações porque houve algum problema né tem que ter procedimentos já
armazenados no banco que são disparados quando acontece alguma coisa enfim são soluções um pouco mais sofisticadas mas que a maioria dos sgpds hoje dos mais simples já nos fornecem disponibilizam tranquilamente nessa arquitetura aqui tá a vantagem então é menor intensidade de tráfego de dados na rede comparado a arquitetura distribuída por exemplo e eles são rápidos pois as consultas são feitas em servidores de alta potência e que só realizam as consultas o resto é realizado pelo processamento do cliente desvantagem exige que os dados sejam armazenados num único sistema né que é esse sistema servidor o servidor
de banco de dados na verdade ele faz a verdadeira operação de busca e retorna somente os dados que preenchem corretamente a consulta que determinado usuário fez né então ele ele não fornece toda vez tudo né ele executa filtra e retorna só aquilo que foi solicitado numa determinada consulta e para fazer o projeto de bancos dados Quais as etapas que existem pensando né em todo o projeto que eu tenho que fazer antes de iniciar você fica que é o Projeto Antes de iniciar usar mesmo implementar um banco de dados então o que que é o projeto
de banco de dados é uma metodologia que propõe uma sequência de ações divididas em etapas de forma assim bem básica mesmo pessoal tá para eu modelar os dados através de diferentes níveis de abstração então vou ter o projeto conceitual um pouco mais com pouco menos de abstração o projeto lógico e com menos abstração ainda eu posso ter o projeto físico Tá quanto mais para baixo eu vou menos abstração eu tenho seja menos uma missão de informação e mais próximo ao como ele estaria realmente armazenado eu vou chegando tá eu vou usar aqueles modelos de dados
então Relembrando O que são os modelos de dados é uma descrição dos tipos de informações que estão armazenadas em banco de dados ou seja quais informações eu tenho armazenadas em um banco de dados tudo isso eu vejo através de um modelo de dados por exemplo nesse modelo que a gente tá vendo aqui então um banco de dados de produtos aí eu tenho produção vendas e compras relacionado a esse banco de dados então aqui eu poderia estar informando que o banco de dados armazena informações sobre produtos de cada produto são armazenados seu código para esse descrição
por exemplo mas ele não informa quais os produtos que estão armazenados no banco de dados mas apenas que o banco de dados apresenta informações sobre produtos entenderam Se o tio diferença desse modelo eu não sei através do modelo Quais produtos são mas sei que este banco de dados está modelado para armazenar produtos quais ainda não sei então o modelo de dados é uma descrição formal da estrutura de banco de dados então descrição formal ela segue regras e formas específicas para serem descritas eu não saio fazendo uma descrição conforme a minha vontade eu tenho formas e
regras para descrever a estrutura do banco de dados através de alguma linguagem de modelagem de dados sim eu tenho uma linguagem para escrever uma palavra em português eu tenho as formas que são as letras e eu tenho regras para montar palavras e frases e aí eu consigo então escrever e estruturar uma frase aqui é igual eu vou ter uma linguagem de modelagem de dados que eu tenho que seguir regras e formas para descrever uma estrutura de um banco de dados eu tenho linguagens então textuais e gráficas para fazer e apresentar essas modelagens de dados eu
posso fazer então através delas o modelo conceitual que é uma descrição do banco de dados de forma independente da implementação em um sgbd Ou seja eu descrevo sem me preocupar com qual sgbd depois disponível no mercado eu vou de fato implementar esse meu banco de dados o modelo conceitual independe do sgbd que eu vou implementar que que eu tenho nele vai registrar que dados podem aparecer no banco de dados mas não registra como estes dados estão armazenados Eu só preciso dizer que dados eu vou ah eu vou armazenar clientes eu vou armazenar produtos para cada
cliente o armazenar o nome e o CPF e a data de nascimento Beleza estou dizendo que dados podem aparecer no meu banco de dados e é isso então o modelo conceitual a técnica mais difundida que nós vamos começar a estudar na sequência depois é abordagem chamada entidade relacionamento tá usualmente eu vou representar através de um diagrama chamado diagrama entidade relacionamento tá aqui aqui é um pequeno exemplo dessa linguagem gráfica de como eu descrevo isso tá Depois a gente vê com calma não vou me estender muito agora no modelo lógico por exemplo ele vai descrever o
banco de dados no nível de abstração visto pelo usuário do sgbd específico ou seja depende do tipo de abordagem que o meu sgbd usa então por exemplo me adiantando bem pouquinho se eu vou usar um sgbd que é do tipo um ou seja um sistema gerenciador de banco de dados que trabalha com bancos de dados relacionais que é uma abordagem que é um né uma modelagem possível eu vou precisar aqui no modelo lógico ter ideia de que eu vou trabalhar com sgbd relacional para fazer a modelagem nessa abstração seguindo a abstração do modelo relacional no
modelo conceitual anterior independe o entidade de relacionamento independe se eu vou cair em qual modelo lógico depois Essa é a ideia tá um passo a passo aqui aqui eu vou registrar que dados podem aparecer no banco de dados e de que forma lógica eles vão ser armazenados utilizando-se alguma abordagem específica mas veja não é hora armazenamento físico é de que forma lógica eles vão ser organizados e armazenados nesse meu sgbd tá ok a técnica mais difundida de modelagem lógica é abordagem relacional como eu Adiantei para vocês onde os dados vão estar armazenados e organizados de
que forma logicamente seguindo a lógica de tabelas pronto essa esse é o passo adiante que o modelo lógico faz por exemplo então aqui eu devo definir Quais as tabelas que o banco contém e como ela se relaciona e para cada tabela Quais os nomes dessas colunas ou seja quais atributos eu quero armazenar de cada né de cada um das pessoas clientes etc que eu desejo fazer o registro no meu banco de dados Beleza então o modelo lógico aqui eu tenho as tabelas armazenando aqui produtos e tipos de produto e aí eu de novo uso aqui
aquela questão de ó do código tipo produto impressora e computador com I2 e aqui para saber que esses dois PCs são computadores eu boto no código tipo produto um aponta para cá computador impressora impressora aqui 222 aponta para cá impressora tá mas isso a gente vai ver no momento correto no momento certo Por fim eu tenho um modelo físico que é uma descrição de um banco de dados no nível de abstração mais baixo que tem aqui que eu vou abordar os detalhes de armazenamento interno e é importante porque a forma como eu vou armazenar pode
eventualmente influenciar na performance dessas minhas aplicações Tá mas não interferem-se na programação das aplicações de um fgbd então aqui tá muito mais vinculado a questão de performance que ao que eu vou programar das aplicações vinculadas a um sgbb Beleza então aqui eu tenho linguagens e notações específicas para o modelo físico mas elas não seguem padrão tá eu tenho uma infinidade de linguagens e notações para fazer a modelagem física que vão variar geralmente a de produto para produto a cada sgbd tem uma modelagem física e segue um padrão para descrever tá e é uma tendência muito
grande especialmente no teste de beleza mais modernos esconder o modelo físico do usuário e transferir toda essa tarefa de otimizar isso ao próprio sgbd então o ssdb estão cada vez mais inteligentes e desenvolvidos e para nós aqui e no nível do nosso curso do que a gente precisa estudar a gente vai basicamente ignorar A modelagem física porque isso não é mais fonte de preocupação e fonte de trabalho para administradores de banco de dados sequer e muito menos usuários programadores ou analistas que vão desenvolver software isso aqui tá muito a cargo interno das equipes empresas de
consórcios que mantém os sgbds e os bancos de dados tudo tá recaindo sobre o sgbd Então não é mais um ponto de preocupação Nossa tá então o que nós vamos estudar basicamente nessa disciplina nós vamos começar a partir dos próximos aulas com o projeto conceitual na modelagem entidade e relacionamento que entende de qual sgbd nós vamos usar depois nós vamos trabalhar com o projeto lógico usando abordagem relacional que é o que a maioria a infinidade dos sgpds trabalham a gente entendeu o que que esse projeto lógico e depois por fim nós vamos botar a cereja
no bolo que é a grande o grande objetivo dessa disciplina que vocês consigam fazer um projeto conceitual e fazer o mapeamento desse projeto conceitual para o projeto lógico ou seja para o modelo relacional a fim de implantar isso num sgbd e começar a usar a linguagem SQL em banco de dados dois tá Vamos cuidar dos 1 2 é como se fosse uma grande disciplina só um vai na carência do outro então estejam bem alertas para isso e ciências De que basicamente esse slide é o resumo do que nós vamos ver na disciplina durante essa essas
nossas atividades de agora em banco de dados Ok etapa Construa um modelo relação perdão o modelo conceitual na forma de um diagrama entidade relacionamento aqui eu vou capturar em termos de armazenamento o que que eu preciso armazenar Independente de como eu vou implementar isso é trava dois modelagem lógica Eu transformo um modelo conceitual obtido naquele meu entidade de relacionamento na primeira fase e um modelo lógico então o modelo lógico esse sim vai definir como banco de dados vai ser implementado seguindo abordagens específica que o meu sgbd trabalha aqui eu preciso saber já qual esse GBD
eu vou implantar isso depois Ah vai ser num trabalho na abordagem relacional Beleza então a minha modelagem lógica vai seguir o modelo relacional a partir do meu entidade relacionamento que eu já fiz que eu não preciso saber para qual a abordagem eu vou posso ter feito inicialmente se conhecendo isso Beleza então é basicamente ó Isso aqui é toda parte de projeto que tem Teoricamente para se fazer ó vejam que no projeto lógico aqui ó é onde tá a linha que define que tá independente do sgbt e o que depende do meu sgbd então a gente
vem até aqui ó até esse esquema Lógico que esse é o nosso limite que eu preciso saber já Qual é o sgbd que eu vou trabalhar em abordagem relacional Beleza então aqui eu vou aqui eu faço entidade de relacionamento e aqui eu começo fazendo uma análise de requisitos eu vou falar muito de Minimundo ao longo das aulas mini mundo esse pequeno ambiente esse cenário esse contexto onde a gente vai trabalhar uma empresa um supermercado uma biblioteca um sistema acadêmico um sistema de estacionamento um projeto de agendamento de sistema de agendamento de horários para dentista para
médico tudo isso são os MiniMundos eu preciso fazer uma análise de requisitos desse ambiente O que que a pessoa precisa armazenar Que tipo de sistema vai usar esse banco de dados para saber os requisitos do banco para conseguir fazer essa modelagem entidade relacionamento gera esse meu modelo conceitual esse meu esquema conceitual Depois preciso saber que é cgbb que eu vou usar para fazer o projeto lógico em geral esquema lógico por exemplo no modelo relacional Aí sim depois eu consigo implementar isso num banco de dados um sgbd de verdade beleza Esse vai ser o nosso o
nosso esquema leio complementarmente os materiais qualquer dúvida né Podem ao realizar as tarefas pode me consultar ok valeu pessoal Muito obrigado um abraço [Música]