hoje nessa aula a gente vai falar um pouco mais sobre o banco de dados a gente vai falar sobre os conceitos Gerais você pode vidas de um banco de dados sistema de banco de dados que envolve né o banco de dados a gente vai falar sobre arquitetura e também sobre a linguagem esse que é que é uma das linguagens usadas é para a gente poder implementar botar a mão na massa ali fazer o banco de dados fisicamente Então vamos lá um pouquinho mais sobre bancos de dados com ciclo de vida do banco de dados representa
aqui né ah como ele começa até onde ele vai um desde o início dele até sua concretização tá bom Eu dividi em três etapas aqui mas dentro de cada uma dessas etapas a gente tem sub-etapas vamos dizer assim a em banco de dados um a gente vai ver aí tá pão rapidamente e aí tá para dois principalmente é nela que a gente vai ficar por mais até a etapa e ela já se diz respeito a ele se pena de banco de dados os dois onde vocês vão é finalmente fazer os códigos implementar povoar consultar gerenciar
os bancos de dados mas o modo a primeira etapa né o 1º etapa do ciclo de vida de um banco de dados O que é análise de requisitos eu não tem como a gente fazer um banco de dados sem antes antes conhecer esse banco de dados ou mesmo conhecer o negócio ali empresa o que a gente vai pretende informatizar Ok então nessa etapa basicamente o que acontece a coleta de informações e regras acerca do negócio então é a etapa na qual a gente precisa entender ali sobre aquele mini mundo tá então entender o problema o
negócio pessoas envolvidas os processos envolvidos tão antes a gente começa a planejar a projetar o banco de se você entender todo seu contexto na Etapa 2 A gente tem ali o projeto lógico projeto conceitual onde né Com base no que a gente levantou ali na análise de requisitos a gente vai construir diagramas tão existe né um diagrama de modelo de dados conceitual que vai conter os dados e os relacionamentos estão tudo aquilo que a de dado E como eles vão se relacionar é diagramado e a gente faz isso por meio do DER diagrama entidade-relacionamento Então
a gente vai pegar todas as entidades quais são seus relacionamentos e vai elaborar um diagrama então a essa etapa 2 ela pode ser dividida em modelagem de dados conceitual a transformação desse modelo conceitual em tabelas então a gente já começa a Mica desenhar ali como essas tabelas vão ficar E para finalizar a gente vai fazer a normalização dessas tabelas então o projeto lógico por si só ele tem um ciclo de vida própria né então a gente após entender faz um modelo de dados conceitual transforma esse modelo de dados em tabelas Não físicas ainda né Talvez
um desenho A gente vai ver como é que a gente faz isso ser chamado de mapeamento feito esse mapeamento a gente precisa verificar se tem algum problema e é com a normalização das tabelas que a gente faz isso tendo o nosso der é transformado em tabelas e normalizado Aí sim a gente consegue pode né consegue fazer a implementação é a terceira etapa é a construção do banco de dados basicamente a implementação por meio da linguagem SQL muitas pessoas pensam a foi lá entende análise de requisitos projetei a eu tentei acabou não é depois uma vez
é o banco de dados estando desenvolvido pronto finalizado aí a gente precisa fazer a monitoração e se necessário algumas modificações então quando o o banco de dados ali na Vamos pensar o armário tá pronto a gente precisa ver se as roupas né é seus dados que ele vai receber é suportável se vai caber tudo direitinho você vai ter problemas em consistência e várias outras coisas então a etapa da implementação ela também pode ser precedida ali de gerenciamento do banco de dado público informação é em consequência disso fazer algo para melhorar a performance entre outras coisas
tá bom isso vocês vão estudar né mas no próximo semestre mas já estou adiantando para vocês terem uma ideia do do ciclo de vida completo do banco de dados então na etapa 3 ali onde se efetivamente né codifique materializa o banco de dados E aí o primeiro conceito que a gente vai falar é sistema de banco de dados o banco de dados a gente já sabe o que é mas existe todo um sistema eu até falei né na aula anterior que o banco de dados sozinho é muito complicado é um arquivo com um monte de
dado né então para isso a gente tem ali outros envolvidos ali aqui é chamado de sistema de banco de dados todos esses envolvidos juntos permitem com que a gente trabalha bem com o banco de dados com os dados e informações contidas nele é tão conjunto formado por banco de dados mas as aplicações que manipulam é chamado de sistema de bom de dar então o sistema de mãos dadas ele é composto por usuário do programa sgbd e o banco de dados então por exemplo eu não consigo chegar aqui é no banco de dados e pegar uma
informação que eu quero é para que eu consigo chegar aqui numa informação vou precisar só um programa então usuário por sua vez ele usa o programa e o sgbd intermédia ele facilita com que o programa tem acesso aos dados que está no banco de dados Então esse é o sistema de banco de dados não teria como a gente trabalhar sem ter isso aí eu não posso usar o usuário direto no sgbd vim coletar as informações e esse usuário souber SQL por exemplo ele consegue mas a ideia é ter um programa uma aplicação no interface visual
ali bonitinha com botões que permitem que o usuário faça isso de uma maneira mais confortável e usuário nesse caso aqui ele Nossa quem usa né mas vamos porque esse usuário vou fazer um sistema para uma padaria e é o cara viu o dono da padaria que vai usar esse sistema no futuro pra cadastrada em seus produtos e os clientes além dele usar no futuro é ele quem vai me passar todas as informações então eu não conseguiria criar esse banco de dados em tem informações de um usuário né de uma pessoa que entende ele o negócio
e que vai me passar algumas informações para que eu desenvolva isto tá bom tá aqui um prédio resumão aí gente tudo que a gente precisa ter para que o sistema de banco de dados funcione bem e os envolvidos agora eu vou ser mais relacionado ao processo de criar mesmo de gerenciamento do banco de dados não existem quatro papéis envolvidos muitas pessoas pensam que é a é quem trabalha com um banco de dados ou de BH ele é um dos envolvidos a gente vai agora olhar um pouquinho com mais detalhes aí cada um os papéis envolvidos
e vai entender que na verdade não é só de Bea não é só o cara que programa e o banco de dados é o responsável pelo gerenciamento do banco de dados i oi oi gente tem os administradores de dados e a gente tem os administradores de banco de dados muita gente confunde isso tá gente mas até coloquei ali né O administrador de dado é o que administrou dado mesmo pronto ele que vai entende como tudo funciona a gente poderia pensar nele como sempre um analista o cara que vai até a empresa entende como tudo funciona
e o faz o projeto Somos nós nesse semestre a gente é o administrador de dados que vai fazer análise projeto e tá o administrador de banco de dados é o cara que vai botar esse em prática e vai lá e vai implementar aí de chamada também de TPA Database administrator a e a gente viu que o banco de dados não é acessível a todos então a gente precisa de desenvolvedores programadores ali numa galera para desenvolver um software uma interface gráfica para que a gente acesse os dados desse banco de dados beleza e o o final
que tem ali meio que aquelas duas funções que eu falei ele vai usar o final e ele também vai passar para o analista a talvez pelo desenvolvedor também o que ele quer ter nesse sistema de banco de dados desse software comentou e com base nisso né com base nesses quatro papéis a gente consegue gerir o banco de dados bom então é são quatro papéis gente poderia talvez falar que são quatro profissões usuários não profissão ela mas enfim é ali a gente encontra tarefas distintos ou comuns a existe uma vantagem e cada um dezembro desempenhar o
seu papel que que eu coloco essas reflexões né porque existem muitas empresas que o desenvolvedora é o cara que faz análise e que implementa o banco de dados e que faz o só selecionar o usuário embora né algumas vezes ele também ficarem fazendo alguns testes não tem muita empresa que acontece assim é muita gente aí que não é programa que não desse finalmente aí na sua casa falar só porque ele é tudo isso de uma maneira só então uma vez eu fiquei chamada Ah mas eu conheço uma pessoa que faz tudo isso e faz bem
então por isso que eu coloquei esses dois e trenzinhos aí né são tarefas distintas o e existe uma vantagem de cada um desempenhar o seu papel tanto faz já me falaram por exemplo não se tiver quatro pessoas trabalhando aí talvez a comunicação entre eles não vai ser boa seria legal uma pessoa fazer tudo aquela pessoa fazendo tudo vai acabar sobrecarregando eu queria saber a opinião de vocês comentem aí que que vocês acham é mais interessante cada um fazer o seu papel porque ou não se uma pessoa não é pegar e fizer tudo isso hoje né
tá na moda ao Dofus Tec né a profissão que eu digo que é impossível hoje com tecnologias nascendo todo tempo Alguém dominais sabe todas mas enfim né não teria sua opinião eu gostaria que vocês comentassem excesso em qual é o pneu de você tá bom E aqui nos próximos slides Tô detalhando um pouco melhor isso então vou passar mais rapidamente já que eu dei uma boa explicada anteriormente então administrador de dados é o responsável por extrair do processo ou do negócio em questão quais os e as informações que tem que ser armazenadas no banco de
dados Então esse analista né administrador de dados ele vai até a empresa conversa com pessoas-chave ali entendi tudo Quais são as informações que tem que estar no banco de dados pode ter que levar numa escola que tem muita coisa ali mas nem tudo vai para o sistema então ele tem que descartar né então o Ele precisa conhecer de banco de dados não de implementar o banco de dados mas conceito de banco de dados modelo relacional por exemplo e também do processo do negócio em questão e durante essa análise essa entrevista é muito importante isso ele
não pode descartar informações importantes e não pode utilizar informações e relevantes porque senão esse mínimo indo vai estar abalado né ele não vai conter exatamente o que ele deveria que ter um e ele não necessita saber como ele vai implementar ele não tem que saber dois quer é essas decisões ele tem que saber é somente como tudo funciona mas não como implementar então tem implementa essas decisões do Bonde das e o DB a até o próximo gente vai falar e ele que define tipo de acesso aos dados de cada um não é dos envolvidos é
uma ele que vai ver ali por exemplo na escola que o professor tem acesso às tabelas onde estão as notas dos alunos Os alunos não ele só vem essas notas eles não podem editar por exemplo então ele tem que saber dessas regras também não só quais informações tá no bonde da Mas quem acessa o que como essas coisas são Integradas e se relaxam e o administrador de banco de dados da ba é que implementa as decisões e solicitações que vieram lado administrador de dados e devem ser profissionais de ti com conhecimento no banco de dados
em e no sgbd em questão então se eu vou utilizar um post gripo mais Kelly enfim eu preciso conhecer esses caras e também conheço conhecer né saber de bom de idade ele é quem conhece sabe das restrições tecnológicas e ele acompanhou ciclo de vida do mundo de dados ele vai acompanhar do começo ao fim aí o banco de dados físico né é real ali menos assim ele é encarregado é observar o comportamento do banco de dados bem como identificar problemas então ele vai implementar e o banco ou mais nas regras que o administrador de dados
passou mas ele também vai ver o pai essas informações aqui tá deixando o bar o banco meio lento e tal preciso fazer alguma outra coisa então Ele é o cara técnico esse processo e o programador ou desenvolvedor ele vai criar uma interface no sistema por meio de uma linguagem de programação Independente de qual seja a linguagem de programação então é uma coisa interessante né separar esse em camadas é bom porque eu posso construir o meu banco de dados é usando o post ele mas eu posso ter programadores e vão usar sei lá por exemplo um
pai com um Java qualquer outra linguagem para conectar com Poxa ele é um separar ali né Essas coisas É bem interessante ter uma Outra vantagem e não é só visual essa interface mas também tem responsabilidade em consistir os dados antes deles serem enviados ao banco de dados então ele tem que analisar e meio que a consistência por exemplo é claro que dá para fazer isso também no banco de dados mas seria muito interessante ali interface não aceitar por exemplo que alguém digite números no campo de nome né não deixa que a pessoa coloca e textos
numa data então ele tem que garantir eles e a consistência desse dados antes de enviar e por banco de dados é claro que lá no banco de dados também tem como fazer isso mas nunca é demais ele tem garantir que cada acesso ao banco de dados seja fornecido somente o seu solicitante ir existir as informações necessárias de cada vez Então o lembra que o analista de dados ele identifica Quem faz o que beleza agora o programador ali no software aqui antes dele chegar no banco de trás ele vai liberar ou você com seu login e
senha aqui no meu sistema você só vai eu consegui fazer Tais funções no banco de dados e você vai fazer essas outras então ele organiza isso ali por meio do Sol porque ele está desenvolvendo o trabalho em conjunto com os analistas Acabei de dar um exemplo bem claro o e identificando as melhores maneiras de interagir com os dados fazendo com que o sistema em questão seja mais simples e intuitivo confiável possível coisas né que é programador ele tem que fazer o quê que podem entrar vários outros pode ter um designer ali um cara de Yu
hai é que vai tentar fazer utilizar ainda mais essa interface Então mas enfim o programador é o que vai concretizar isso e usuário ele é que em causa necessidade dos outros então sendo a gente não tivesse ali um usuário alguém para usar um sistema nem período o sistema além de ser doar a quem precisa que se desenvolvam sistema para ele usar né inclusive o banco de dados ele só existe porque tem alguém querendo guardar as informações de algum lugar e além de utilizar o sistema é ele é um dos principais envolvidos no projeto do banco
de dados é ele é além de lhe causar necessidade de utilizar o sistema é ele quem fornece as informações necessárias do negócio então sobre informatizar a padaria do seu Manuel ele tem que me passar todas as informações se ele não me passar as informações de como funciona uma padaria ou como é sistematicamente a padaria que ele gerencia eu não vou conseguir fazer um sistema aí um banco de dados para isso né então é uma coisa que eu acho que é bem complicada também que usuário ele tem que confiar no profissional de t.i. analista por exemplo
Ah e não escondeu nenhum detalhe nenhum tipo de informação porque vamos porque ele tá fazendo alguma coisa de errado na padaria dele se ele não passar isso para o analista isso não foi repassada para o software isso tudo nem deveria acontecer é mas como que o programador vai implementar aquela funcionalidade daquela maneira que ele trabalha então isso não vai acontecer então ele é muito importante na verdade ele todos têm a sua importância individualmente ou uma única pessoa né desempenhando cada um desses papéis é da melhor maneira para que o banco de dados chegue redondinho ali
perfeito porque ele vai ser utilizado desse processo é e vamos falar um pouquinho sobre arquitetura do banco de dados como é que ela é como é que o bonde das organizar E se a gente analisar pelo lado do modelo de dados lembrar do modelo relacional praticamente a gente tem dois tipos a gente tem mais 1 ao 1000 eu baixo nível você já programaram já devem saber um pouquinho né linguagem de alto nível a linguagem de baixo nível aqui é mais ou menos parecido em Alto Nível A gente tá falando modelo de dados conceitual fornece uma
visão mais próxima do modo como os usuários visualizam os dados então em Alto Nível A gente vai entender o banco projetar sem pensar em tecnologia ainda e mais é pensar mais em relação de como esse banco de dados funciona deve funcionar vai se comportar agora em alto nível isso não é o do nível mais próximo do usuário mas entendível pelos lá e quando a gente Abaixa um pouco milho a gente tá pensando em modernizadas mais físico ou seja nesse modelo a gente fornece uma visão mais detalhada de como os dados vão ser armazenados no computador
jeans nessa disciplina um banco de dados um interessa para gente é mais aqui o alto nível se tratando em modelo de dados até que lá no modelo relacional a gente vai fazer o que a gente vai fazer o modelo mas conceitual do banco de dados agora falando né é de sgbd sistema gerenciador de banco de dados e tal a gente arquitetura três esquemas ou três níveis estão pensando ali no software que gerencia o vamos a gente tem três camadas a principal meta né da arquitetura três esquemas é separar na aplicação do usuário do software ali
o banco de dados físico Então isso é bem interessante lembra que eu falei lá a gente tem um banco de dados que usa a tecnologia x mas os desenvolvedores usam que linguagem Então são coisas diferentes eu posso usar qualquer linguagem para implementar o meu sócio e se comunica com aquele banco de dados Então essa separação é muito importante muito produtiva Até mesmo porque lembra que tem um analista de dados que é mais conceitual e aí tem o bebê a que é mais prático o cara que vai fazer o softer Então a gente tem coisas diferentes
em níveis diferentes atribuições diferentes no nível externo e a esse é o mais próximo dos usuários ou seja querem que eu culpa é que se ocupa do modo como os dados são vistos pelos usuários individuais Como que o usuário precisa receber essa informação no futuro e no nível conceitual lógico a gente já começa a descrever quais dados estão armazenados no banco de dados Qual é o inter-relacionamento entre eles tão nível utilizadores administradores tão aqui a gente já tá num nível conceitual lógico Só que ainda é um pouco bem né na verdade relacionada com que a
gente vai ver na disciplina então a gente entende lá do usuário né entenda que como é como se esse vídeo aqui fosse ele análise de requisitos esse aqui já é o Projeto lógico projeto conceitual é o que a gente vai fazer hum mas a gente faz um pouco desses dois e o nível interno ou físico físico né no disco rígido aí é o mais próximo do meio de armazenamento físico Ou seja é aquele que se ocupa é com o modo como os dados armazenados Eu tenho um exemplo aqui da arquitetura Então a gente tem que
os usuários finais no o terno a gente tem algumas visões pode ser um sol Porque eles estão utilizando selado no nível conceitual a gente tem puder o diagrama modelo projeto ali começa a pensar em tabelas e tal e no nível interno a gente já tem o que como esses dados vão estar fisicamente lá no banco de dados pensa que é uma imagem só para representar os três esquemas que eu acabei de representar aí agora também tem um exemplo então no nível externo E como que seria o entendimento né da das coisas vamos pensar aqui ó
almoço a usuários secretária tem uma visão na na qual cada empregado tem dois Campos nome falar não pensa assim né uma secretária de uma empresa os empregados ele tem nome e salário negócio bem alto nível já o contador é secretária e contador se ele 12 duas pessoas que trabalham aqui né E existe uma uma entidade que vai ser armazenada no vamos lá que o empregado o computador ele sabe também ele também te a visão de que o empregado tem nome salário beleza algo bem superficial bem alto nível vamos supor com analista chegou e falou para
a secretária a quais informações empregado tem Ela falou isso vamos supor que ele chegou e falou conversa com contador também quais são os dados que o empregado tem o salário também beleza ao domingo um nível conceitual a gente já precisa começar a modelar dá um pouco mais de forma para isso é um banco de dados ele contem informações relativas a um tipo de entidade chamada empregado então agora a gente já começa a pra cá isso como sendo uma entidade uma entidade do meu modelo relacional isso é algo que a gente vai aprender um pouco mais
para frente cada empregado como tem um número underline empregado e o número underline departamento e um salário aí quinta geração um informações o pouco mais detalhados do que apenas nome e salário tá E no nível interno piorou um pouco mais né Vamos empregados são os empregados né que é o que a gente está em levando em consideração aqui eles são representados por um tipo de registro armazenado denominado em armazenado com 20 o comprimento Tá vendo como que desceu bastante o nível então a gente entrou aqui e meu of Tom bem mais técnico é bem mais
ali físico como isso vai ser armazenada e tal e o banco de dados ele é isso não é uma maneira de representar algo bem abstrato ali bem de alto nível e colocá-lo fisicamente algo de baixo nível beleza e a linguagem Esse quer ela é linguagem utilizada para que a gente possa fazer as manipulações e um banco de dados e é uma linguagem específica para que a gente Trabalhe com banco de dados tão existe uma linguagem específica né para definir o esquema conceitual e físico do de um sgbd essa linguagem a denominada SQL structured query language
então o SQL é uma única linguagem então todo mundo que uso vamos dados relacional usa ou SQL então eu quero fazer meu banco de dados no mais Kelly e eu vou usar o SQL eu vou trabalhar com o post parece Kelly eu vou usar essa quero todos os DVD deles trazem mais querem junto né vou fazer em hora pô Quer implementar bom estado usando o db2 SQL server Enfim então em qualquer um desses softwares que eu citei eu vou utilizar a linguagem é sequer porém a linguagem assim que ela possa ela pode ser dividido em
quatro grupos Então a gente tem o ddl dml ddl e o desse se vocês perceberam a única coisa que está mudando esse essa letra aqui do meio né então a gente tem aqui ó linguagem de definição de dados ou data definição em Mogi todos os outros aqui são data alguma coisa lendo Então vamos focar nessa palavrinha que tá aqui no meio tá então ddl eu vou definir o meu banco de dados então eu crio tem manípulos objeto se você já vou criar o banco ou criar as tabelas relação entre essas tabelas eu vou criar estrutura
Definir meu banco de dados de ML eu vou manipular as informações os dados né do meu banco de dados Então ele me traz ali comandos que permite inserir alterar excluir os dados então é que eu criei o banco e as tabelas aqui eu inserir alterar excluir os registros nessa tabelas e bql de carri ou seleção consulta de dados para mim manda os mais importantes porque é a categoria é o grupo né dessa linguagem que permite que a gente se faça as consultas no banco de dados Nossa mas consulta mais importante do que isso seria alterar
excluir e criar o banco de dados Sim a gente só cria altera insere exclui os dados e faz tudo isso para poder consultar no futuro a consulta lembra que aqui eu inseri um dado a consulta é um momento onde eu vou recuperar uma informação pode ser minha informação super valiosa para uma empresa para o meu negócio em questão e me lembra que depois aqui eu já criei o banco e eu só tô conversando eu manipulei eu fiz consultas e ainda depois disso a gente tem a o data control language que seria o dcl que permite
aqui tá permite né o acesso de usuários ao banco mas na verdade o dcl ele também né nessa categoria vamos assim a gente pode entrar com outros comandos ali SQL e se dizem respeito ao gerenciamento do banco de dados além do controle de acesso de usuários a gente pode também Criar e fazer alguns outros procedimentos alguns outros processos no banco de dados dá para deixar ele melhor mas performático a mais rápido mais eficiente de alguma maneira à tona linguagem nem sequer a gente não vai ver nesse semestre qualquer coisa eu faço e o outro para
ilustrar alguma coisa mas o nosso foco é mais trabalhar com um projeto Mas é interessante a gente tem uma ideia de tudo né de ver isso como um todo para ter ideia do que a gente vai trabalhar e para concluir então que eu falei para vocês na hora de hoje foi mais ou menos aqui o tempo de vida de um banco de dados passa pela análise de requisitos o projeto lógico EA implementação do sistema de banco de dados é composto por usuário programa sgbd e o banco de dados no processo de gerenciamento do banco de
dados tem quatro papéis ali envolvidos aqueles quatro profissionais lembro o administrador de dados mas análise o administrador de banco de dados o bebê a e o cara que implementa o banco os desenvolver desenvolvedores ou programadores que é que vai implementar uma interface visual para acesso ao banco de dados e usuário final que é quem tem a e se criar um banco de dar fornece as informações para análise para o desenvolvedor e testa isso no final né acaba encontrando um monte de problema em cliente usuário sempre tá trabalho para gente mas sem eles a gente não
faria nada também e arquitetura de banco de dados tem duas vertentes né que eu abordei aqui quando a gente pensa no modelo de dados esse modelo de dados pode ser de alto a baixo nível em relação ao sgbd aí a gente tem que vir aqui tá dura de três esquemas a gente entrei Myles o externo conceito algo lógico conceitual lógica a mesma coisa tá e interno piso principal mesma coisa que ela deve ter 33 esquemas que a gente comentou ah e para eu implementar um banco de dados eu vou precisar saber conhecer um pouco mais
ele os comandos da linguagem SQL Beleza então nessa aula a gente viu mais conceitos acerca aí do banco de dados na próxima aula a gente vai falar um pouquinho mais sobre os sgbd cê as características coisas muito importantes ali para poder planejar e criar um banco de dados o melhor possível até a próxima Alta só