Banco de Dados

29
BANCO DE DADOS BANCO DE DADOS Instrutor Eilton Instrutor Eilton Santos Santos

Transcript of Banco de Dados

Page 1: Banco de Dados

BANCO DE DADOSBANCO DE DADOSInstrutor Eilton SantosInstrutor Eilton Santos

Page 2: Banco de Dados

Banco de dados é um sistema Banco de dados é um sistema de armazenamentode armazenamentoque possui um arquivo físico de que possui um arquivo físico de dados armazenados em dados armazenados em dispositivos periféricos, nos dispositivos periféricos, nos quais estão armazenados os quais estão armazenados os dados relacionados entre si, dedados relacionados entre si, dediversos sistemas, para consulta diversos sistemas, para consulta e atualização peloe atualização pelousuário.usuário.

O QUE É BANCO DE DADOSO QUE É BANCO DE DADOS

Page 3: Banco de Dados

O SGBD é o O SGBD é o software software responsável pelo responsável pelo gerenciamento,gerenciamento,armazenamento e recuperação armazenamento e recuperação dos dados no bancodos dados no bancode dados.de dados.

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOSSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS

Page 4: Banco de Dados

Exemplo de um SGBDExemplo de um SGBD

Page 5: Banco de Dados

Tipos de sistemas de Tipos de sistemas de gerenciamento de banco de gerenciamento de banco de

dadosdadosBanco de Dados Relacional e Banco de Dados Relacional e

Orientado a ObjetosOrientado a Objetos

Page 6: Banco de Dados

Banco de Dados RelacionalBanco de Dados RelacionalEm um banco de dados relacional os Em um banco de dados relacional os

dados são armazenadosdados são armazenadosem tabelas físicas que possuem em tabelas físicas que possuem relacionamentos entre si. Essasrelacionamentos entre si. Essas

estruturas físicas recebem o nome de estruturas físicas recebem o nome de tabelas relacionaistabelas relacionais..

Page 7: Banco de Dados

• Uma Uma tabela relacional tabela relacional é uma simples é uma simples estrutura de linhas e colunas. Cada linha estrutura de linhas e colunas. Cada linha contém um mesmo conjunto de colunas ou contém um mesmo conjunto de colunas ou campos, porém as linhas seguem um campos, porém as linhas seguem um determinado tipo de ordem.determinado tipo de ordem.

Page 8: Banco de Dados

Para ilustrar melhor uma tabela relacional, veja a Para ilustrar melhor uma tabela relacional, veja a representação abaixo:representação abaixo:

Page 9: Banco de Dados

Lembre-se que as linhas Lembre-se que as linhas representam o número de representam o número de registros cadastrados na tabela e registros cadastrados na tabela e as colunas representam campos as colunas representam campos que compõem a estrutura.que compõem a estrutura.

Page 10: Banco de Dados

Chave primária Chave primária e a e a chave chave estrangeira.estrangeira.

O conceito básico para identifi car O conceito básico para identifi car linhas e estabelecer relaçõeslinhas e estabelecer relações

entre linhas de tabelas de um banco entre linhas de tabelas de um banco de dados relacional é o dede dados relacional é o de

chavechave.Em um banco de dados .Em um banco de dados relacional há ao menos dois tiposrelacional há ao menos dois tiposde chaves a considerar: a de chaves a considerar: a chave chave primária primária e a e a chave estrangeira.chave estrangeira.

Page 11: Banco de Dados

Chave primáriaChave primária

A chave primária é a chave que A chave primária é a chave que identifica cada registro dando-lheidentifica cada registro dando-lhe

unicidadeunicidade. Essa chave primária nunca . Essa chave primária nunca se repetirá dentro dase repetirá dentro da

estrutura da tabela. Ela pode ser estrutura da tabela. Ela pode ser formada por um único campoformada por um único campo

ou coluna ou por vários campos.ou coluna ou por vários campos.

Page 12: Banco de Dados

Chave estrangeiraChave estrangeira

A A chave estrangeira chave estrangeira corresponde aos campos, oucorresponde aos campos, oucampo, de uma tabela, cujos campo, de uma tabela, cujos

seus valores cadastradosseus valores cadastradosaparecem necessariamente aparecem necessariamente

na chave primária dena chave primária deoutra tabela.outra tabela.

Page 13: Banco de Dados

Veja a seguir uma representação da chave Veja a seguir uma representação da chave estrangeira:estrangeira:

Sempre que se for cadastrar uma Sempre que se for cadastrar uma matrícula de aluno, não é necessário matrícula de aluno, não é necessário recadastrar os dados do aluno e nem recadastrar os dados do aluno e nem mesmo do curso.mesmo do curso.A tabela de matrícula cadastrará como A tabela de matrícula cadastrará como aluno a matrícula do aluno desejado na aluno a matrícula do aluno desejado na tabela de alunos e em curso o código do tabela de alunos e em curso o código do curso originário da tabela de cursos.curso originário da tabela de cursos.

Page 14: Banco de Dados

Em um Em um modelo relacionalmodelo relacional, cada , cada tabela representa unicamente a tabela representa unicamente a estrutura dos dados que serão estrutura dos dados que serão armazenados ali e as regras de armazenados ali e as regras de integridade, como chaves integridade, como chaves primárias e estrangeiras.primárias e estrangeiras.Em um Em um modelo orientado a modelo orientado a objetosobjetos, essa representação é, essa representação éalterada signifi cativamente, pois alterada signifi cativamente, pois além dos dados armazenados, além dos dados armazenados, também são armazenadas as também são armazenadas as regras de uso do objeto, com as regras de uso do objeto, com as operações e validações que serão operações e validações que serão permitidas.permitidas.

Page 15: Banco de Dados

Software Livre e ProprietárioSoftware Livre e Proprietário

As ferramentas gratuitas estão baseadas na idéia As ferramentas gratuitas estão baseadas na idéia de de SoftwareSoftware

LivreLivre, que tem como princípio:, que tem como princípio:Software Livre Software Livre é uma questão de liberdade, nãoé uma questão de liberdade, não

de preço.de preço.

Page 16: Banco de Dados

Refere-se à liberdade dos usuários Refere-se à liberdade dos usuários executarem, copiarem,executarem, copiarem,

distribuírem, estudarem, modifi distribuírem, estudarem, modifi carem e aperfeiçoarem ocarem e aperfeiçoarem o

software. Mais precisamente, se software. Mais precisamente, se refere a quatro liberdades para osrefere a quatro liberdades para os

usuários do software:usuários do software:

Page 17: Banco de Dados

a liberdade de executar o programa, a liberdade de executar o programa, para qualquerpara qualquer

propósito;propósito;a liberdade de estudar como o a liberdade de estudar como o

programa funciona eprograma funciona eadaptá-lo para as suas necessidades. adaptá-lo para as suas necessidades.

Acesso ao códigofonte,Acesso ao códigofonte,é um pré-requisito para esta é um pré-requisito para esta

liberdade;liberdade;

Page 18: Banco de Dados

a liberdade de redistribuir cópias de a liberdade de redistribuir cópias de modo que você possamodo que você possa

ajudar ao seu próximo;ajudar ao seu próximo;a liberdade de aperfeiçoar o a liberdade de aperfeiçoar o programa e liberar os seusprograma e liberar os seus

aperfeiçoamentos, de modo que aperfeiçoamentos, de modo que toda a comunidade setoda a comunidade se

beneficie.beneficie.

Page 19: Banco de Dados

Bem, como você pode ter notado, o Bem, como você pode ter notado, o software software livre é umalivre é uma

tendência de mercado. As ferramentas tendência de mercado. As ferramentas atuais, como: MySQL,atuais, como: MySQL,

PostgreSQL, FireBird e outros, têm PostgreSQL, FireBird e outros, têm apresentado a cada anoapresentado a cada ano

versões mais confi áveis e amigáveis, versões mais confi áveis e amigáveis, que permitem aoque permitem ao

usuário realizar as mesmas rotinas de usuário realizar as mesmas rotinas de outros bancos deoutros bancos de

dados proprietários, com a mesma dados proprietários, com a mesma qualidade.qualidade.

Page 20: Banco de Dados

Já, o mercado de softwares Já, o mercado de softwares proprietários apresenta asproprietários apresenta asseguintes características:seguintes características:

Page 21: Banco de Dados

Normalmente é cobrado um valor pelo Normalmente é cobrado um valor pelo uso do software, a são conhecida licença uso do software, a são conhecida licença

de uso. Este valor pode ser cobrado de uso. Este valor pode ser cobrado através da venda do direito do uso por através da venda do direito do uso por

tempo ilimitado, ou ainda outra tempo ilimitado, ou ainda outra modalidade de comercialização é a modalidade de comercialização é a

venda do direito de uso por um venda do direito de uso por um determinado período de tempo.determinado período de tempo.

Há a fi gura do proprietário do software, Há a fi gura do proprietário do software, ou seja, deou seja, de

quem o construiu e que responde pelo quem o construiu e que responde pelo seu adequado funcionamento.seu adequado funcionamento.

Page 22: Banco de Dados

O proprietário é quem fornece possíveis correções O proprietário é quem fornece possíveis correções no produto comercializado, isto representa um no produto comercializado, isto representa um

certo nível de garantia ao consumidor, uma vez que certo nível de garantia ao consumidor, uma vez que se tem identificado a quem recorrer no caso de se tem identificado a quem recorrer no caso de

alguma anormalidade no funcionamento do alguma anormalidade no funcionamento do software.software.

Geralmente o software proprietário possui uma Geralmente o software proprietário possui uma política de atualização e/ou evolução, onde estão política de atualização e/ou evolução, onde estão

contempladas as inovações a serem incorporadas ao contempladas as inovações a serem incorporadas ao software num determinado período de tempo. Esta software num determinado período de tempo. Esta

política não representa qualquer garantia de política não representa qualquer garantia de continuidade do produto, uma vez que depende do continuidade do produto, uma vez que depende do proprietário do software a decisão de continuar a proprietário do software a decisão de continuar a

sua evolução e atualização.sua evolução e atualização.

Page 23: Banco de Dados

Ferramentas de SGBDFerramentas de SGBD

Page 24: Banco de Dados

MySQLMySQLO aplicativo O aplicativo MySQL MySQL é um sistema de gerenciamento de é um sistema de gerenciamento de banco de dados relacionais baseado em comandos banco de dados relacionais baseado em comandos SQL SQL

((Structured Query Language - Linguagem Estruturada para Structured Query Language - Linguagem Estruturada para PesquisasPesquisas) que vem ganhando grande popularidade, sendo ) que vem ganhando grande popularidade, sendo

atualmente um dos bancos de dados mais populares.atualmente um dos bancos de dados mais populares.O MySQL foi criado na Suécia por dois suecos e um O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael finlandês: David Axmark, Allan Larsson e Michael

Widenius, que trabalham juntos desde a década de 80. O Widenius, que trabalham juntos desde a década de 80. O sucesso do aplicativo deve-se em grande parte à fácil sucesso do aplicativo deve-se em grande parte à fácil

integração com linguagens de programação para web, integração com linguagens de programação para web, como o PHP e principalmente por se tratar de um banco como o PHP e principalmente por se tratar de um banco

de dados gratuito, ou seja, o usuário não tem custo algum de dados gratuito, ou seja, o usuário não tem custo algum para adquirir o produto, que pode ser baixado para adquirir o produto, que pode ser baixado

diretamente da internet.diretamente da internet.

Page 25: Banco de Dados

PostgreSQLPostgreSQLO aplicativo O aplicativo PostgreSQL PostgreSQL é um sistema de gestão de bases deé um sistema de gestão de bases de

dados relacionais, desenvolvido como projeto de software livre.dados relacionais, desenvolvido como projeto de software livre.Sua origem PostgreSQL está de certo modo ligada ao projetoSua origem PostgreSQL está de certo modo ligada ao projetoIngres, desenvolvido na Universidade de Berkeley, Califórnia.Ingres, desenvolvido na Universidade de Berkeley, Califórnia.

O líder do projeto, Michael Stonebraker, um dos pioneiros dasO líder do projeto, Michael Stonebraker, um dos pioneiros dasbases de dados relacionais, deixou a universidade em 1982 parabases de dados relacionais, deixou a universidade em 1982 para

comercializar o Ingres, acabando por regressar a Berkeley.comercializar o Ingres, acabando por regressar a Berkeley.Em 1985, Stonebraker inicio um novo projeto pós-Ingres comEm 1985, Stonebraker inicio um novo projeto pós-Ingres como objetivo de responder a muitos dos problemas que surgiamo objetivo de responder a muitos dos problemas que surgiamrelacionados a bases de dados relacionais. Esse novo projeto relacionados a bases de dados relacionais. Esse novo projeto receberia o nome de receberia o nome de Postgres Postgres e, apesar do parentesco, não e, apesar do parentesco, não

partilhou o código base com o Ingres, seguindo sempre caminhos partilhou o código base com o Ingres, seguindo sempre caminhos separados. Em 1993 o projeto separados. Em 1993 o projeto Postgres Postgres foi ofi cialmente foi ofi cialmente

abandonado pela Universidade de Berkeley, mas devido ao fato abandonado pela Universidade de Berkeley, mas devido ao fato do seu códigofonte estar sob uma licença gratuita, foi possível do seu códigofonte estar sob uma licença gratuita, foi possível

manter o desenvolvimento pela comunidade BSD.manter o desenvolvimento pela comunidade BSD.Em 1995 foi adicionado um interpretador SQL, para substituirEm 1995 foi adicionado um interpretador SQL, para substituir

a linguagem QUEL (desenvolvida para o Ingres) e o projetoa linguagem QUEL (desenvolvida para o Ingres) e o projetofoi renomeado, primeiro para foi renomeado, primeiro para Postgres95 Postgres95 e mais tarde parae mais tarde para

PostgreSQLPostgreSQL..

Page 26: Banco de Dados

InterBaseInterBaseO aplicativo O aplicativo InterBase InterBase é um gerenciador de banco é um gerenciador de banco

de dados relacionais da Borland, mesmo fabricante de dados relacionais da Borland, mesmo fabricante das linguagens de programação Delphi, Borland C+das linguagens de programação Delphi, Borland C+

+ e Borland Java.+ e Borland Java.Ele é uma opção alternativa aos bancos de dados Ele é uma opção alternativa aos bancos de dados tradicionais como o SQL Serverda Microsoft e tem tradicionais como o SQL Serverda Microsoft e tem as vantagens de ser grátis e as vantagens de ser grátis e código abertocódigo aberto, o que , o que signifi ca que seu código pode ser modifi cado e signifi ca que seu código pode ser modifi cado e melhorado por qualquer usuário. Dessa forma a melhorado por qualquer usuário. Dessa forma a ferramenta se mantém em constante evolução, ferramenta se mantém em constante evolução,

sem custo algum aos seus usuários.sem custo algum aos seus usuários.

Page 27: Banco de Dados

SQLLiteSQLLiteO aplicativo O aplicativo SQLite SQLite é uma biblioteca em linguagem C é uma biblioteca em linguagem C que implementa um banco de dados SQL embutido. que implementa um banco de dados SQL embutido. Programas que usam a biblioteca SQLite podem ter Programas que usam a biblioteca SQLite podem ter

acesso a banco de dados SQL sem executar um acesso a banco de dados SQL sem executar um processo separado.processo separado.

O SQLite é um servidor de banco de dados. A O SQLite é um servidor de banco de dados. A biblioteca SQLite lê e escreve diretamente no biblioteca SQLite lê e escreve diretamente no

arquivo do banco de dados.arquivo do banco de dados.Algumas características do SQLite:Algumas características do SQLite:

software livre/domínio público e multiplataforma;software livre/domínio público e multiplataforma;não necessita de instalação, configuração ounão necessita de instalação, configuração ou

administração;administração;implementa a maioria do padrão SQL;implementa a maioria do padrão SQL;

o banco de dados é guardado em um único arquivo;o banco de dados é guardado em um único arquivo;suporta bases de dados acima de dois terabytes;suporta bases de dados acima de dois terabytes;

sem dependências externas.sem dependências externas.

Page 28: Banco de Dados

MS SQL ServerMS SQL ServerO aplicativo MS SQL O aplicativo MS SQL

Server é um gerenciador Server é um gerenciador de banco dede banco de

dados fabricado pela dados fabricado pela Microsoft. É um banco de Microsoft. É um banco de

dados muitodados muitorobusto e usado em robusto e usado em

empresas e por grandes empresas e por grandes sistemas corporativos.sistemas corporativos.

Page 29: Banco de Dados

OracleOracleO aplicativo é um sistema de banco de dados que surgiu no final O aplicativo é um sistema de banco de dados que surgiu no final dos anos 70, quando Larry Ellison vislumbrou uma oportunidade dos anos 70, quando Larry Ellison vislumbrou uma oportunidade

que outras companhias não haviam percebido, quando encontrou que outras companhias não haviam percebido, quando encontrou uma descrição de um protótipo funcional de um banco de dados uma descrição de um protótipo funcional de um banco de dados

relacional e descobriu que nenhuma empresa tinha se relacional e descobriu que nenhuma empresa tinha se empenhado em comercializar essa tecnologia. Então, Ellison e os empenhado em comercializar essa tecnologia. Então, Ellison e os

co-fundadores da Oracle Corporation, Bob Miner e Ed Oates, co-fundadores da Oracle Corporation, Bob Miner e Ed Oates, perceberam que havia um tremendo potencial de negócios no perceberam que havia um tremendo potencial de negócios no

modelo de banco de dados relacional, tornando-os assim a maior modelo de banco de dados relacional, tornando-os assim a maior empresa de software empresarial do mundo. A empresa oferece empresa de software empresarial do mundo. A empresa oferece

seus produtos de bancos de dados, ferramentas e aplicativos, seus produtos de bancos de dados, ferramentas e aplicativos, bem como serviços relacionados de consultoria, treinamento e bem como serviços relacionados de consultoria, treinamento e

suporte. A tecnologia Oracle pode ser encontrada em quase todos suporte. A tecnologia Oracle pode ser encontrada em quase todos os setores do mundo inteiro e nos escritórios de 98 das empresas os setores do mundo inteiro e nos escritórios de 98 das empresas

citadas na lista da Fortune 100. Constitui-se atualmente de um citadas na lista da Fortune 100. Constitui-se atualmente de um dos softwares de banco de dados mais confiáveis e estáveis do dos softwares de banco de dados mais confiáveis e estáveis do

mercado.mercado.