24
Fundamentos de Banco de Dados Prof. Antonio Cezar

Aula 1 - Conceitos BD.pdf

Embed Size (px)

Citation preview

Fundamentos de

Banco de Dados

Prof. Antonio Cezar

A área de banco de dados é de grandeimportância no mundo da informática, umavez que a informação é um bem precioso edeve ser armazenada de forma coerente eadequada.

Atualmente, por menor e mais simples queseja um Sistema de Informação, ele precisaráter a capacidade de armazenar e recuperardados rapidamente.

De forma simplificada, pode-se conceituarbanco de dados como sendo um sistema dearmazenamento de dados baseado emcomputador, cujo objetivo é registrar emanter informações consideradassignificativas a qualquer organização ou a umúnico usuário. (DATE, 1990)

Dados são tudo que podemos inferir ou coletarsobre uma situação específica. Os dados podemser úteis ou não.

Os dados úteis é o que chamamos deinformação. E esses dados são o quearmazenamos em uma base de dados.

Por convenção, na área de banco de dados, ostermos “informação” e “dado” significam amesma coisa. Isso ocorre porque devemosarmazenar apenas aquilo que é útil para a nossaaplicação. Sendo assim, os dois termos serãousados como sinônimos.

Uma base de dados é um local, ou espaço,onde informações estão armazenadas e deonde elas são recuperadas. Uma base dedados terá um nome, e este nome deverárepresentar o que aquela base armazena.◦ Ex: aplicação de uma agenda de contatos pessoal e

profissional.

Uma base de dados permite que os dadosfiquem centralizados e que se relacionem deforma coerente.

Computacionalmente, um Sistema de Bancode Dados é uma ferramenta que seráutilizada para armazenar informações. Essaferramenta possui três principaiscaracterísticas:

◦ Armazenar os dados.

◦ Relacionar os dados armazenados.

◦ Recuperar os dados rapidamente.

Significa que a ferramenta possui umrepositório onde as informações sãogravadas.

Esse repositório permite centralizar os dados,evitando que eles fiquem espalhados emvários arquivos.

É muito importante que um sistema de Bancode Dados permita relacionar as informaçõesarmazenadas de forma coerente.

Lembre-se!

Armazenar dados e não relacioná-los não é nadainteressante para quem desenvolve um Sistema deInformação.

Se dá por meio de consultas ao Sistema deBanco de Dados.

Nos bancos de dados relacionais, as consultassão feitas utilizando-se a LinguagemSQL(Strutured Query Language) - Linguagemde consulta estruturada.

Atualmente, os Sistemas de Banco de Dadosevoluíram para Sistemas Gerenciadores deBanco de Dados (SGBD).

Um SGBD é uma ferramenta muito maiscompleta que um Sistema de Banco de Dados.

Um SGBD disponibiliza uma série defuncionalidades que permitem controlar eacompanhar melhor os dados armazenados.

Exemplos de SGBD utilizados atualmente:

Oracle Database (da Oracle)

Sql Server (da Microsoft)

PostgreSQL (código aberto)

DB2 (da IBM)

MySql (código aberto, atualmente da Oracle)

MariaDB (código aberto)

Esquema de desenvolvimento de

Software com acesso a Banco de Dados

As principais características de um SGBD são:

Permitir o acesso concorrente às bases dedados;

Realizar o gerenciamento de transações;

Permitir criar e aplicar regras de segurança àsbases de dados;

Permitir criar regras que garantam aintegridade da base de dados.

O acesso concorrente à base de dadossignifica que o SGBD permite que duas oumais pessoas acessem uma mesma base dedados ao mesmo tempo e o sistema controlapara que um acesso não interfira no outro.

Ex: Em um sistema de compras na Web, váriaspessoas podem realizar uma compra ao mesmotempo, e o próprio SGBD controla para que os dadosde todas as compras sejam gravados corretamentena base de dados.

Uma transação em banco de dados consiste emum conjunto de operações que é tratado comouma unidade lógica indivisível. Isso significa quequando começa a execução de uma transação,esta deve ter executada todas as operaçõesdentro dela.

Se acontecer qualquer falha durante a execuçãoda transação (por exemplo: falta de energia,alguém desligar o servidor, cancelamento datransação pelo usuário, etc.) as operaçõespendentes devem ser canceladas, e aquelas queforam executadas deverão ser desfeitas. Issoacontece para garantir a integridade dos dadosdentro da base.

As regras de segurança vão desde a definição delogin e senha para os usuários, até a permissão deacesso ao SGBD e acesso aos dados armazenados.

É possível definir o que o usuário pode fazer noSGBD, ou seja, definir o papel do usuário no SGBD.

Ex: permissão para leitura de dados; permissão paracriar base de dados e manipulá-la; não permitircriação de novos usuários ou realizar backup.

Acesso aos dados: pode-se definir em uma base dedados qual usuário tem acesso a qual informação.Por exemplo: pode-se definir que os alunos tenhamacesso aos dados de disciplinas e turmas, mas quenão possam acessar dados do professor.

As regras de integridade são interessantesporque ficam definidas para uma base dedados, e todas as aplicações que acessaramaquela base poderão utilizar a regra deintegridade.

Ex: verificação de validade de estado (MT, SP,).

Parcelamento de compras > R$150,00.

Atualmente, os SGBD funcionam em umaarquitetura cliente-servidor.

Isso significa que você pode instalar o SGBDem um servidor e instalar o cliente em váriasmáquinas para que vários usuários tenhamacesso simultâneo ao SGBD.

É importante ressaltar que nessa arquiteturatodas as bases de dados são criadas,alteradas e excluídas no servidor e não namáquina do cliente.

ANTES

HOJE

Os usuários de um banco de dados podemser divididos em 3 categorias:

1. Administrador do banco de dados (DBA): é oresponsável por monitorar e gerenciar todasas bases de dados criadas no SGBD.

Controla as permissões dos usuários, garanteque os usuários tenham acesso aos dados,realiza backups, recupera os dados em casode falhas, garante o melhor desempenho parao banco de dados, monitora serviços (Jobs)de usuários no banco de dados, etc.

2. Analistas de sistemas e programadores deaplicações: são responsáveis por modelar abase de dados e implementá-la no SGBDescolhido.

Também são responsáveis por desenvolver aaplicação (programa escrito em umalinguagem de programação como: Java, PHP,C++, C#, etc.) e conectar essa aplicação àbase de dados do sistema.

Usuários finais: os usuários finais são aquelaspessoas que vão trabalhar diariamente comas aplicações desenvolvidas.

São eles os responsáveis pela entrada dedados no banco de dados e pelas alteraçõesnos dados armazenados.

Esses usuários não precisam ter nenhumconhecimento sobre banco de dados ou saberqual o SGBD utilizado.

• Acesso dos usuários ao banco de dados

1) Dê três exemplos de situações, nas quais seria necessárioutilizar uma base de dados.

2) Para cada uma das situações que você descreveu noexercício 1, descreva os dados que seriam úteis armazenarna base de dados.

3) O que significa dizer que as informações que vamosarmazenar em uma base de dados devem ser úteis? Paraquem elas devem ser úteis?

4) Defina o que caracteriza um Sistema de Banco de Dadoscomputacional.

5) Qual a diferença entre uma base de dados e um Sistemade Banco de Dados?

6) Cite e explique as principais características de um SGBD.

7) O Access da Microsoft pode ser considerado um SGBD?

Justifique sua resposta.

EXERCÍCIOS – 04/09/2014