olá eu sou professor marino firme a graduação na instituição de matemática e estatística da usp e meu mestrado também nesta mesma instituição no mestrado eu enfatizei uma comparação entre o banco de dados relacional e o banco de dados relacional eu tenho um grande interesse na parte do banco de dados porque ele direciona qual é a idéia do negócio converte a parte do sistema de dados vão ser armazenados em seguir sempre nessa linha estarei acompanhando vocês na disciplina de fundamentos de banco de dados esta disciplina ela tem uma importância muito grande no seu curso porque porque
é através dela que você vai poder gerenciar a poder gerir as regras verão deputado terá no senado quais são as importâncias qual é o conceito é instrutor e assim por diante por isso que nós queremos ver na aula de hoje é uma breve introdução de como surgiu o sgb que é o sistema gerenciador de banco de dados e qual é a importância do banco de dados propriamente dita para isto o objetivo então que temos nessa disciplina vai ter everton é perspectiva histórica mas não queremos nos aprofundar tanto no ponto histórico nos momentos históricos mas entender
quais foram os gatilhos tecnológicos as necessidades para que evoluímos na estrutura na ferramenta de banco de dados os principais pontos que queremos abordar ao longo da disciplina são então a importância de banco de dados e arquivos verso de sgbd principais característica do sistema gerenciador de banco de dados arquitetura do esquema modelagem de dados é muito importante essa parte da disciplina modelos de dados conceitual lógico e físico matriz de classificação de sgbd cento e do conceito algumas questões de estudo eu gosto de dividir essa disciplina em quatro partes esta parte que acabei de passar pra você
e da agenda é a primeira parte que é para nós conhecermos banco de dados que em termos a modelagem antes de entrarmos em modelagem propriamente dita para isto iremos ter como apoio principalmente o livro na watt sistema de banco de dados este livro é muito bom porque ele é muito didático o modo de escrita do novati a metodologia que ele segue o desenho os exemplos são muito simples e pra quem estiver gostando muito da disciplina o que quiser se aprofundar mais recomenda adquirir o livro é um ótimo livro de cabeceira para quem vai seguir banco
de dados ou quem é entusiasta da área segundo o livro do corte de sistema de banco de dados ele é um ótimo livro também complementar à do abate já tem um modo de apresentar a disciplina apresentar banco de dados um pouco diferente que talvez para alguns surgiu a surtar um pouco mais complicado então fortemente eu recomendo o livro na bat a um livro que possui devem adquirir iremos seguir todo o nosso curso em cima dele então qual é a importância de banco de dados o que é um banco de dados primeiro nós temos que todo
dado que uma empresa gera seja um formulário seja venda compra as passagens da aérea um prontuário médico para sair um pouco da área comercial uma área de transporte por exemplo o ônibus onde o ônibus vai qual o destino dele tem que estar armazenado em alguma estrutura essa estrutura nós chamamos de banco de dados os dados são provenientes do uso das informações de rota de ônibus número de linhas de ônibus passagens aéreas locais de compra produtos e assim por diante qual é o problema o problema é que se você tem uma coisa simples uma lista de
compras você consegue armazenar no arquivo numa folha de papel porém se você começa a ampliar essa necessidade a quantidade de produto da quantidade de clientes e assim por diante você precisa gerenciar a onde os dados estão e como afetar esses dados pra isso que surgiu o sistema gerenciador de banco de dados então no início à programação de um único objetivo armazenar e manipular os dados e era previsto que que um único computador e acessar um único banco de dados porém começou começamos a ter uma evolução tecnológica em que vários computadores tinham a necessidade de acessar
o mesmo dado e com isso começamos a t travar começamos até de blog em que um computador queria acessar um dado porém um outro computador ainda estava testando aquele mesmo dado e começar a travar o sistema começar em impedir o bom andamento uma boa performance então ele e os programas que não conhecem esta estrutura de dados também não poderia utilizar o dado que estava dentro dele com isso eles começaram a ver o que é que tinha que ter um intermediário que tem alguma barreira intermediar entre quem está acessando dado e o dado propriamente dito com
isto foi criado então uma estrutura que a atender a esta necessidade que tratar que a redundância o sincronismo a concorrência porque porque são foi demandado que não somente um computador vai ser saldado mas vários computadores vão acessar e não só um mas vários dados e estes dados podem estar relacionado ao interesse então por exemplo uma conta bancária ótimo ótimo caso eu estou sacando dinheiro porém a pessoa que está depositando dinheiro na minha conta que eu vou sacar etapa da estação ao mesmo tempo que eu dependendo da ordem eu consigo sacar dinheiro ou não porque a
pessoa depositar depois da minha tentativa de saque não vai ter dinheiro nunca noko na conta porém ela depositar ante eu vou ter dinheiro na conta então esse sincronismo de quem tentou acessar a conta de banco primeiro a concorrência foi um problema que começou a demandar uma necessidade tecnológica de tratamento não adianta você ter o dado você tem informação se você não sabe se a informação é coerente ou não se é correto ou não por exemplo eu poderia atacar o dinheiro e ficar negativo fazendo ação antes do depósito porém se a pessoa não depositou o dinheiro
ou melhor ainda e se teve uma falha no depósito de dinheiro como é que o sistema vai entender como é que vai ser a regra do sistema então essa regra delas tem que estar presas em algum lugar e neste sentido o banco de dados acaba auxiliando então o sgb deles sul viu como uma barreira para tratar esses casos o sincronismo a concorrência é falar aonde está o dado a onde está tabela e assim por diante com a evolução do sgb de o que nós tivermos um sistema intermediário ele permite que uma máquina que um sistema
acesse o dado que lhe é permitido ou seja um médico acessando um prontuário médico ele tem acesso aos prontuários dele uma enfermeira vai ter acesso vai ter o mesmo acesso que o médico não deveria porque o médico tá no outro nível de atendimento porém graças do sgd conseguimos fazer essas limitações diretamente no banco de dados pelo usuário pelo perfil do usuário por um controle de acesso que nós não tínhamos antes então o controle nós conseguimos nortear quem pode ver o dar ou não quais tabelas evitem ou não quais tabela são é permitido inscreveu dado alteral
dado para alterações de quais não isso tudo sbd e tem a finalidade de facilitar o desenvolvedor facilitar o programador que ele não tem que se preocupar com sincronismo concorrência ele monta tabela ele vai elaborar as tabelas e na teoria todo esse trabalho pesado é o sistema que vai estar fazendo a única preocupação do programador é o que está cadastrando dado na tabela correta o dado coerente por exemplo idade eu não posso por um cão um campo escrita não posso pôr o nome da pessoa ou campo data não posso por um número então tem que ser
coerente entre a estrutura de dados da tabela eo que eu tô inferindo tendo esta coerência bem feita então seu sistema não vai ter nenhum problema o spd ou a cgd vai controlar a concorrência vai controlar o sincronismo e assim por diante com esta vantagem então o sbt teve uma evolução muito grande até hoje está tendo grandes devoluções na tratativa do dado e nessa interface de vocês ao dado de você ter um contato com o dado essa coleção de arquivos então essa efetivo intermediário com como já expliquei recebeu esse nome de sgbd não é que é
que é o sistema que é responsável por gerenciar por estar controlando o dado desde a estrutura da tabela até quem está acessando dado o acesso de dados e assim por diante o 1º sgb de comercial e isso é importante rever comercial que saiu da área de protótipo saiu da área de estudo e virou uma ferramenta comercializável foi 1960 com o tempo surgiram padrões e os padrões são muito importantes que nem a linguagem sql que a utilidade banco de dados virou um padrão a estrutura de dados virou um padrão e esses padrões nortearam qual tecnologia seguir
ou não quais tecnologias estariam à frente ou não ea descrição de banco de dados que é chamada de metadados também teve um padrão como descrever um banco de dados qual é a linguagem qual é o padrão porque um programador o desenvolvedor ele escreve um banco de dados um modelo pra ele ele escreve para todos seguindo um padrão alguém que está na china alguém que está na na índia nos estados unidos pegando seu modelo de banco de dados ele vai conseguir entender qual é o seu sistema e reproduzir o seu sistema então a importância de seguir
um padrão é esta você está é permitindo uma globalização da sua ferramenta primeiramente mas que a sua ferramenta seja utilizada no padrão que internacional e isso é muito importante então o usuário ele desenvolve uma ferramenta o sgd vai administrar o banco de dados da tabela todas as estruturas e usuários da pena de terem mudado sem ter que se preocupar com o sincronismo concorrência ele está tirando um peso uma responsabilidade jogando no aplicativo isso é muito importante então hoje nós temos o que hoje nós temos um banco de dados que a 1 é uma coleção de
dado coerente e logicamente relacionados por exemplo numa escola eu tenho o aluno tenha disciplina tem um professor qual é a relação entre o aluno e o professor relação à disciplina que liga um com o outro então ao banco de dados tem que ser coerente as tabelas tem que ter uma razão de existir o correto é você tabela é com uma boa relação e não tá bela jogada eu tenho uma tabela professor dispersa eu tenho uma tabela aluno desperta uma tabela disciplina dispersa e pra fazer com que elas conversa entre fi eu tenho que fazer uma
grande busca de regra de relações e com banco de dados eu não preciso disto o banco de dados já me fala qual é o motivo de um aluno está relacionado com o professor ou qual é o motivo de um professor está relacionado com uma disciplina é o tópico da disciplina é o curso daquela disciplina no período e assim por diante e é isso que vamos ver nesta disciplina como fazer essa modelagem como você fazer com que um problema real seja remodelado e fendi transcrito pro sgbd a fim de você tem as tabelas coerentes que tenham
um relacionamento tem todo um controle em cima dele e neste ponto o que nós chamamos de mini mundo esta representação do mundo real para o mundo de modelagem mundo o mundo representado então todo o problema que nós vamos tratar que vamos tratar podemos representar o chamado de mini mundo estamos pegando uma parte da nossa realidade uma parte pequena estamos modelando essa parte e tenta tabela das estruturas e assim por diante já encerrando a aula de hoje temos o que o arquivo ativo texto uma planilha comparando com sgbd quais característica e quais as vantagens e desvantagens
então um arquivo tradicional eu tenho uma definição de dados é parte do código de programação da aplicação ou seja eu tenho que descrever o que é o dado é uma receita de bolo a uma lista de endereços é uma planilha de notas não importa o que escreveu que que é enquanto o sgb de quem é responsável pela explicação são os metadados com isso eliminar a redundância porque eliminam redundância eu tenho uma única tabela soa nesta tabela pessoa eu tenho cpe que tem o nome tem idade e ela é generalizada a todo o sistema que utiliza
a pessoa vai ler dessa tabela enquanto que o arquivo hoje estou fazendo um arquivo de endereço amanhã eu estou fazendo o arquivo de endereço de email e no outro dia de data de nascimento em cada um destes três arquivos eu vou ter que está identificando quem é o aniversariante quem é que mora naquele endereço quem é o proprietário do e mail euvou está tendo uma redundância do nome da pessoa ou do cpf para se dizer enquanto que no banco de dados eliminam isto eu tenho uma única tabela centralizadora que tem os dados que são referentes
a ela uma outra característica no arquivo eu tenho uma dependência entre a aplicação e dado ou seja a aplicação escreve naquele arquivo tem que abrir o arquivo escrever no arquivo é aquele arquivo enquanto que no banco de dados é independente a aplicação que vai ler um formulário por exemplo e aonde o dado vai estar armazenado qual é a vantagem disto uma das principais vantagens você consegue é desmembrar o banco de dados da aplicação ou seja eu consigo fazer uma revolução na tecnologia de aplicação da aplicação sem ter que mexer na estrutura de dados eu consigo
fazer um sistema inicial em php depois converter para java sem ter nenhuma perda de conteúdo apenas mexendo na casca na interface e essa é uma das maiores vantagens do sgb de você consegue ter uma independência do dado com a aplicação eliminar novamente redundante elimina um monte de problemas não somente redundância você fica muito mais é ter uma flexibilidade na escolha da tecnologia de aplicação o banco de dados está tudo ok você consegue alterar a tecnologia fazer uma evolução sem nenhum problema uma melhora uma migração consegue fazer uma manutenção preventiva tem muitas vantagens outro ponto no
arquivo temos uma representação em nível físico o que quer dizer isto estou representando como dado está sendo armazenado enquanto que não é cgd eu tenho um modelo conceitual através de dados do programa é quando eu represento o mini mundo pro banco de dados quais serão as tabela quais serão os atributos quais serão as relações entre os atributos então essa parte é muito importante e vamos ver ao longo do curso mas a partir de modelagem e conceitual é um dos maiores atrativos do banco de dados é quando você identifica se a sua interpretação do mini mundo
está coerente ou não está correto ou não e começa a fazer simplificações sem ter que ainda manusear o dado ter um gasto de programação e por fim cada visão é implementada por módulos específicos um arquivo enquanto que na ufgd eu tenho várias visões vou dar um exemplo temos a tabela pessoa a tabela pessoa tem um campo que se chama parente então tem alguém que está como pai alguém como filho alguém como avô tio avó cunhada e assim por diante eu quero que um pai tem acesso aos filhos dele que não têm acesso aos tios sobrinhos
de nada eu crio uma visão específica desta mesma tabela que a pessoa só vai ter acesso ao pai sem mexer no dado então quem é pai sabe acessar os filhos quem é tio só acessar o sobrinho e assim por diante o dado é o mesmo a tabela é a mesma só que as visões de acesso tão diferentes isso é uma característica muito importante é ter uma flexibilidade em tratar o dado eu tenho uma facilidade de gerar consultas já viu sem ter que criar regras sem ter que gerar programação então o sgd o tratamento com o
banco de dados é um parto ele tá dor pra quem está desenvolvendo um sistema para quem está trabalhando com o sistema seja a pessoa um a df 11 afi o banco de dados a grande maioria dos sistemas hoje tratam com o banco de dados trato com algum sistema de armazenamento de dados e quando não sgbd ufgd ele tem um controle de redundância ele tem um controle de consistência e integridade então compartilhe lamento de dados a festa multiusuário controle de recuperação e restauração consulta deficiente ou seja é um trabalho que você não vai ter na programação
então por que não dar o sgb qual a vantagem de não usar a vantagem época dado de aplicação enfim 13 estáveis por exemplo um único arquivo texto txt então pra que gerar uma tabela banco de dados pra isto o requisito em tempo real que não pode ser atendido então você tem que sair de um ace de bd e por uma outra tecnologia a 11 relacional por assim dizer é um motivo tirando isto toda estrutura todo o sistema a maioria indicativo de usar o sgb de encerrar uma de hoje recomendo fortemente que leiam um arquivo pdf
está a disponibilidade da plataforma e nos vemos na próxima aula obrigado