Banco de-dados

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

Transcript of Banco de-dados

BANCO DE DADOSBANCO DE DADOSInstrutor Eilton Instrutor Eilton

SantosSantos

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

O QUE É BANCO DE DADOSO QUE É BANCO DE DADOS

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

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

Exemplo de um Exemplo de um SGBDSGBD

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

de dadosde dadosBanco de Dados Relacional e Banco de Dados Relacional e

Orientado a ObjetosOrientado a Objetos

Banco de Dados Banco de Dados RelacionalRelacional

Em um banco de dados Em um banco de dados relacional os dados são relacional os dados são

armazenadosarmazenados

em tabelas físicas que em tabelas físicas que possuem relacionamentos possuem relacionamentos

entre si. Essasentre si. Essas

estruturas físicas recebem o estruturas físicas recebem o nome de nome de tabelas tabelas

relacionaisrelacionais..

• Uma Uma tabela relacional tabela relacional é uma é uma simples estrutura de linhas e simples estrutura de linhas e colunas. Cada linha contém um colunas. Cada linha contém um mesmo conjunto de colunas ou 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.

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

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

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

O conceito básico para identifi O conceito básico para identifi car linhas e estabelecer car linhas e estabelecer

relaçõesrelaçõesentre linhas de tabelas de um entre linhas de tabelas de um banco de dados relacional é o banco de dados relacional é o

dedechavechave.Em um banco de .Em um banco de

dados relacional há ao menos dados relacional há ao menos dois tiposdois tipos

de chaves a considerar: a de chaves a considerar: a chave primária chave primária e a e a chave chave

estrangeira.estrangeira.

Chave primáriaChave primária

A chave primária é a chave A chave primária é a chave que identifica cada registro que identifica cada registro

dando-lhedando-lheunicidadeunicidade. Essa chave . Essa chave

primária nunca se repetirá primária nunca se repetirá dentro dadentro da

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

campocampoou coluna ou por vários ou coluna ou por vários

campos.campos.

Chave estrangeiraChave estrangeira

A A chave estrangeira chave estrangeira corresponde aos corresponde aos

campos, oucampos, oucampo, de uma tabela, campo, de uma tabela,

cujos seus valores cujos seus valores cadastradoscadastradosaparecem aparecem

necessariamente na necessariamente na chave primária dechave primária de

outra tabela.outra tabela.

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

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

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

Software Livre e Software Livre e ProprietárioProprietário

As ferramentas gratuitas estão As ferramentas gratuitas estão baseadas na idéia de baseadas na idéia de SoftwareSoftwareLivreLivre, que tem como princípio:, que tem como princípio:

Software Livre Software Livre é uma questão de é uma questão de liberdade, nãoliberdade, não

de preço.de preço.

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

copiarem,copiarem,distribuírem, estudarem, distribuírem, estudarem,

modifi carem e modifi carem e aperfeiçoarem oaperfeiçoarem o

software. Mais precisamente, software. Mais precisamente, se refere a quatro liberdades se refere a quatro liberdades

para ospara osusuários do software:usuários do software:

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

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

o programa funciona eo programa funciona eadaptá-lo para as suas adaptá-lo para as suas

necessidades. Acesso ao necessidades. Acesso ao códigofonte,códigofonte,

é um pré-requisito para esta é um pré-requisito para esta liberdade;liberdade;

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

possapossaajudar 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 seusaperfeiçoamentos, de modo aperfeiçoamentos, de modo que toda a comunidade seque toda a comunidade se

beneficie.beneficie.

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

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

MySQL,MySQL,PostgreSQL, FireBird e outros, PostgreSQL, FireBird e outros, têm apresentado a cada anotêm apresentado a cada anoversões mais confi áveis e versões mais confi áveis e

amigáveis, que permitem aoamigáveis, que permitem aousuário realizar as mesmas usuário realizar as mesmas rotinas de outros bancos derotinas de outros bancos dedados proprietários, com a dados proprietários, com a

mesma qualidade.mesma qualidade.

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

Normalmente é cobrado um Normalmente é cobrado um valor pelo uso do software, a são valor pelo uso do software, a são conhecida licença de uso. Este conhecida licença de uso. Este valor pode ser cobrado através valor pode ser cobrado através da venda do direito do uso por da venda do direito do uso por tempo ilimitado, ou ainda outra tempo ilimitado, ou ainda outra modalidade de comercialização modalidade de comercialização é a venda do direito de uso por é a venda do direito de uso por

um determinado período de um determinado período de tempo.tempo.

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

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

funcionamento.funcionamento.

O proprietário é quem fornece possíveis O proprietário é quem fornece possíveis correções no produto comercializado, isto correções no produto comercializado, isto representa um certo nível de garantia ao representa um certo nível de garantia ao

consumidor, uma vez que se tem consumidor, uma vez que se tem identificado a quem recorrer no caso de identificado a quem recorrer no caso de alguma anormalidade no funcionamento alguma anormalidade no funcionamento

do software.do software.Geralmente o software proprietário possui Geralmente o software proprietário possui

uma política de atualização e/ou uma política de atualização e/ou evolução, onde estão contempladas as evolução, onde estão contempladas as

inovações a serem incorporadas ao inovações a serem incorporadas ao software num determinado período de software num determinado período de

tempo. Esta política não representa tempo. Esta política não representa qualquer garantia de continuidade do qualquer garantia de continuidade do

produto, uma vez que depende do produto, uma vez que depende do proprietário do software a decisão de proprietário do software a decisão de

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

Ferramentas de SGBDFerramentas de SGBD

MySQLMySQLO aplicativo O aplicativo MySQL MySQL é um sistema de é um sistema de

gerenciamento de banco de dados relacionais gerenciamento de banco de dados relacionais baseado em comandos baseado em comandos SQL SQL ((Structured Query Structured Query

Language - Linguagem Estruturada para Language - Linguagem Estruturada para PesquisasPesquisas) que vem ganhando grande ) que vem ganhando grande

popularidade, sendo atualmente um dos popularidade, sendo atualmente um dos bancos de dados mais populares.bancos de dados mais populares.

O MySQL foi criado na Suécia por dois suecos e O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e um finlandês: David Axmark, Allan Larsson e

Michael Widenius, que trabalham juntos desde Michael Widenius, que trabalham juntos desde a década de 80. O sucesso do aplicativo deve-a década de 80. O sucesso do aplicativo deve-

se em grande parte à fácil integração com se em grande parte à fácil integração com linguagens de programação para web, como o linguagens de programação para web, como o

PHP e principalmente por se tratar de um PHP e principalmente por se tratar de um banco de dados gratuito, ou seja, o usuário não banco de dados gratuito, ou seja, o usuário não tem custo algum para adquirir o produto, que tem custo algum para adquirir o produto, que

pode ser baixado diretamente da internet.pode ser baixado diretamente da internet.

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

de bases dede bases dedados relacionais, desenvolvido como projeto de dados relacionais, desenvolvido como projeto de

software livre.software livre.Sua origem PostgreSQL está de certo modo ligada Sua origem PostgreSQL está de certo modo ligada

ao projetoao projetoIngres, desenvolvido na Universidade de Berkeley, Ingres, desenvolvido na Universidade de Berkeley,

Califórnia.Califórnia.O líder do projeto, Michael Stonebraker, um dos O líder do projeto, Michael Stonebraker, um dos

pioneiros daspioneiros dasbases de dados relacionais, deixou a universidade bases de dados relacionais, deixou a universidade

em 1982 paraem 1982 paracomercializar o Ingres, acabando por regressar a comercializar o Ingres, acabando por regressar a

Berkeley.Berkeley.Em 1985, Stonebraker inicio um novo projeto pós-Em 1985, Stonebraker inicio um novo projeto pós-

Ingres comIngres como objetivo de responder a muitos dos problemas que o objetivo de responder a muitos dos problemas que

surgiamsurgiamrelacionados a bases de dados relacionais. Esse relacionados a bases de dados relacionais. Esse novo projeto receberia o nome de novo projeto receberia o nome de Postgres Postgres e, e,

apesar do parentesco, não partilhou o código base apesar do parentesco, não partilhou o código base com o Ingres, seguindo sempre caminhos separados. com o Ingres, seguindo sempre caminhos separados.

Em 1993 o projeto Em 1993 o projeto Postgres Postgres foi ofi cialmente foi ofi cialmente abandonado pela Universidade de Berkeley, mas abandonado pela Universidade de Berkeley, mas devido ao fato do seu códigofonte estar sob uma devido ao fato do seu códigofonte estar sob uma

licença gratuita, foi possível manter o licença gratuita, foi possível manter o desenvolvimento pela comunidade BSD.desenvolvimento pela comunidade BSD.

Em 1995 foi adicionado um interpretador SQL, para Em 1995 foi adicionado um interpretador SQL, para substituirsubstituir

a linguagem QUEL (desenvolvida para o Ingres) e o a linguagem QUEL (desenvolvida para o Ingres) e o projetoprojeto

foi renomeado, primeiro para foi renomeado, primeiro para Postgres95 Postgres95 e mais e mais tarde paratarde para

PostgreSQLPostgreSQL..

InterBaseInterBaseO aplicativo O aplicativo InterBase InterBase é um gerenciador é um gerenciador

de banco de dados relacionais da de banco de dados relacionais da Borland, mesmo fabricante das Borland, mesmo fabricante das

linguagens de programação Delphi, linguagens de programação Delphi, Borland C++ e Borland Java.Borland C++ e Borland Java.

Ele é uma opção alternativa aos bancos Ele é uma opção alternativa aos bancos de dados tradicionais como o SQL de dados tradicionais como o SQL

Serverda Microsoft e tem as vantagens Serverda Microsoft e tem as vantagens de ser grátis e de ser grátis e código abertocódigo aberto, o que , o que

signifi ca que seu código pode ser modifi signifi ca que seu código pode ser modifi cado e melhorado por qualquer usuário. cado e melhorado por qualquer usuário. Dessa forma a ferramenta se mantém Dessa forma a ferramenta se mantém

em constante evolução, sem custo algum em constante evolução, sem custo algum aos seus usuários.aos seus usuários.

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

usam a biblioteca SQLite podem ter usam a biblioteca SQLite podem ter acesso a banco de dados SQL sem acesso a banco de dados SQL sem executar um processo separado.executar um processo separado.

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

dados.dados.Algumas características do SQLite:Algumas características do SQLite:

software livre/domínio público e software livre/domínio público e multiplataforma;multiplataforma;

não necessita de instalação, configuração não necessita de instalação, configuração ouou

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 o banco de dados é guardado em um

único arquivo;único arquivo;suporta bases de dados acima de dois suporta bases de dados acima de dois

terabytes;terabytes;sem dependências externas.sem dependências externas.

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

Server é um Server é um gerenciador de gerenciador de

banco debanco dedados fabricado pela dados fabricado pela

Microsoft. É um Microsoft. É um banco de dados banco de dados

muitomuitorobusto e usado em robusto e usado em

empresas e por empresas e por grandes sistemas grandes sistemas

corporativos.corporativos.

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

vislumbrou uma oportunidade que outras vislumbrou uma oportunidade que outras companhias não haviam percebido, quando companhias não haviam percebido, quando

encontrou uma descrição de um protótipo funcional encontrou uma descrição de um protótipo funcional de um banco de dados relacional e descobriu que de um banco de dados relacional e descobriu que

nenhuma empresa tinha se empenhado em nenhuma empresa tinha se empenhado em comercializar essa tecnologia. Então, Ellison e os co-comercializar essa tecnologia. Então, Ellison e os co-fundadores da Oracle Corporation, Bob Miner e Ed fundadores da Oracle Corporation, Bob Miner e Ed

Oates, perceberam que havia um tremendo Oates, perceberam que havia um tremendo potencial de negócios no modelo de banco de dados potencial de negócios no modelo de banco de dados relacional, tornando-os assim a maior empresa de relacional, tornando-os assim a maior empresa de

software empresarial do mundo. A empresa oferece software empresarial do mundo. A empresa oferece seus produtos de bancos de dados, ferramentas e seus produtos de bancos de dados, ferramentas e aplicativos, bem como serviços relacionados de aplicativos, bem como serviços relacionados de consultoria, treinamento e suporte. A tecnologia consultoria, treinamento e suporte. A tecnologia Oracle pode ser encontrada em quase todos os Oracle pode ser encontrada em quase todos os

setores do mundo inteiro e nos escritórios de 98 das setores do mundo inteiro e nos escritórios de 98 das empresas citadas na lista da Fortune 100. Constitui-empresas citadas na lista da Fortune 100. Constitui-

se atualmente de um dos softwares de banco de se atualmente de um dos softwares de banco de dados mais confiáveis e estáveis do mercado.dados mais confiáveis e estáveis do mercado.