22
Aula 001 Banco de Dados PRONATEC Programa Nacional de Acesso ao Ensino Técnico e Emprego

Banco dedados aula001

Embed Size (px)

Citation preview

Page 1: Banco dedados aula001

Aula 001

Banco de Dados

PRONATECPrograma Nacional de Acesso ao

Ensino Técnico e Emprego

Page 2: Banco dedados aula001

PRONATECPrograma Nacional de Acesso ao

Ensino Técnico e Emprego

Page 3: Banco dedados aula001

1. BANCO DE DADOS• Dado: em informática é tudo que pode ser

armazenado em dispositivos de memória. O dado é bruto e armazenado como é. Ex: Sexo

• Informação: é o que podemos obter da interpretação dos dados. Ex: Mulheres cadastradas e menores de idade.

• BD: É um conjunto de dados armazenados de forma lógica e correlacionados entre si e que podem ser incluídos, alterados, excluídos e consultados de forma a produzir informações

Page 4: Banco dedados aula001

2. GA – Gerenciados de Arquivos• É um tipo de Banco Dados mais antigo e

básico, nele os dados ficam em arquivos e esses são relacionados entre si por meio de aplicativos escritos em diversas linguagens como: Delphi, Cobol, Java, Clipper, PHP

• Alguns exemplos de bancos de dados GA são: Dbase, Clipper, FoxPro, Microsoft Access

• Os GA não tem software internos para controle dos dados tais como consultar, incluir, alterar, excluir. Somente podemos fazer isso mediante linguagens de programação

Page 5: Banco dedados aula001

3. SGBS – Sistema Gerenciados de Banco de Dados• É o mais moderno e melhor sistema para

controle de banco de dados disponível.• Exemplos de SGBD´s são: Firebird, MySQL,

Oracle, Microsoft SQL Server, PostGre• Os SGBD´s tem como principal característica

conter em si mesmos tanto os dados e relacionamentos quanto a parte de software responsável pela definição e manipulação desses. Ficando ainda encarregado da segurança de acesso aos dados

Page 6: Banco dedados aula001

4. GA x SGBD• Os SGBD apresentam as seguintes características principais. Caso alguma delas

não esteja presente o candidato será um GA• 1) Auto-contenção: o SGBD obrigatoriamente tem em sim mesmos tanto

dados, relacionamentos como aplicativos para manipular aqueles• 2) Independência dos dados: a mudança nos dados ou em seus esquemas não

deve influir nos aplicativos que usam esses dados• 3) Abstração dos dados: o programador não precisa saber o modo de operação

interna do SGBD, se precisar controlar uma duplicidade de dados na aplicação então não é um SGBD e sim um GA

• 4) Visões: um SGBD deve permitir que visualizações de partes do banco de dados sejam possíveis sem ter que usar de artifícios de programação como cópias de tabelas

• 5) Transações: todo SGBD deve permitir confirmar ou cancelar grupo de operações realizadas em bloco no banco sem a necessidade de intervenção do programador do aplicativo

• 6) Acesso Automático: é a capacidade de evitar Dead-Lock • Para ser considerado um SGBD ele deve ter “todas” as características acima

presentes ao mesmo tempo, caso contrário será um GA.

Page 7: Banco dedados aula001

5. Características Operacionais SGBD• Características operacionais desejáveis dos SGBD:• 1) Controle de Redundância: redundância é a repetição do mesmo

dado em locais diferentes que poderão ficar inconsistentes e devem ser evitadas, os SGBD têm em si recursos para isso.

• 2) Controle de Acesso: o SGBD deve manter os dados protegidos e usar níveis de acesso com autoridades diferenciadas às informações

• 3) Interfaceamento: o SGBD deve fornecer ferramentas para acesso aos dados de preferência de forma gráfica e por linguagem SQL

• 4) Esquematização: Fornecer a compreensão dos dados e seus relacionamentos se possível de forma gráfica

• 5) Controle de Integridade: os dados devem estar íntegros sempre, apesar de múltiplos acessos e concorrência a eles

• 6) Backup: Apresentar facilidade de recuperação de falha

Page 8: Banco dedados aula001

6. Usando Banco de Dados - GA• Os Bancos de Dados do tipo Gerenciadores de Arquivos não

podem ser desconsiderados uma vez que são úteis para pequenas aplicações de BD.

• Apesar dos GA possuírem menos recursos que os SGBD eles são amplamente usados em softwares que necessitam de boa performance e aplicativos desktop ou para pequenas redes

• Todo GA precisa das seguintes três definições: Tabelas, Estrutura das tabelas e Índices.

• Tabela: de acordo com o projeto do BD são as Entidades e os Relacionamentos no DER da Análise de Sistemas

• Estrutura das Tabelas: são as colunas de cada tabela, bem como os seus tipos, tamanhos e sua ordem

• Índices: são arquivos que servem para ordenar os dados nas tabelas e auxiliar o programador na manutenção da integridade das mesmas pelo controle das chaves

Page 9: Banco dedados aula001

9. Componentes de um BD• Gerenciador de Acesso ao Disco: utiliza-se o próprio Sistema

Operacional para acessar arquivos onde os dados e regras estão guardados

• Compilador DDL: (Data Definition Language) linguagem de definição dos dados que processa as definições do esquema do banco de dados

• Dicionário de Dados: Contem detalhes do esquema, as definições das tabelas, relacionamentos, índices, regras

• Processador do BD: responsável por fazer as atualizações no BD: inclui, altera e exclui

• Processador de Pesquisa: responsável por fazer as consultas aos dados do BD (comando select)

• Compilador DML: (Data Manipulating Language) Linguagem de Manipulação de Dados. É a parte que processa os comandos para incluir, alterar, excluir, consultar e executar procedimentos e funções sobre os dados.

Page 10: Banco dedados aula001

10. Abstração de Dados• Um SGBD deve prover uma “visão abstrata” dos seus dados para os

usuários, isolando, desta forma detalhes internos da arquitetura do BD.

• Existem três níveis de abstração: Nível de armazenamento(Físico), Nível do conjunto do usuário(Conceitual/Lógico) e Nível de visão do usuário

• Objetivo: obter independência física e lógica dos dados. Física: pode-se mudar o esquema físico sem necessidade de alterar o esquema conceitual. Lógica: pode-se mudar o esquema conceitual sem a necessidade de modificar os programas externos que usam o BD

Page 11: Banco dedados aula001

11. Níveis de Abstração dos SGBD• Físico: também chamado de “Esquema interno”, é o nível

mais baixo de abstração. Descreve como os dados estão realmente armazenados, englobando estruturas complexas de baixo nível.

• Conceitual (Lógico): descreve quais os dados estão armazenados e seus relacionamentos. Neste nível, o BD é descrito através de estruturas relativamente simples, que podem envolver estruturas complexas no nível físico.

• Visões do Usuário: é o nível externo, descrevendo partes do BD que serão visualizadas pelos usuários de acordo com suas necessidades. Uma visão é um subconjunto de dados do BD, sem que exista a necessidade de estarem armazenados no BD.

Page 12: Banco dedados aula001

12. Modelos de SGBD• Banco de Dados Relacionais• Banco de Dados Hierárquicos• Banco de Dados em Rede• Banco de Dados Semânticos• Banco de Dados Orientados a Objetos• Banco de Dados Universais• No curso estudaremos os do tipo “Relacionais” por

serem os mais usados atualmente no mercado

Page 13: Banco dedados aula001

13. SGBD Hierárquicos• Apresenta-se como uma árvore de cabeça para baixo onde a

raiz é o topo e desce abrindo os galhos em níveis hierárquicos; Ex: Pastas do SO

• Tem a desvantagem de nem todos os problemas são adaptáveis à estrutura hierárquica

Page 14: Banco dedados aula001

14. SGBD em Rede• Apresenta como características os dados

organizados em vários tipos de registros e tipos de sets (estabelecem os relacionamentos) e um problema de estratégia de acesso aos registros “filhos”.

Page 15: Banco dedados aula001

15. SGBD Relacional• Baseado na teoria universal dos conjuntos. O BD é visualizado como

um conjunto de tabelas, cada uma representando uma entidade ou um relacionamento.

• Os relacionamentos representados por valores de dados; simetria nas consultas; várias linguagens definidas (álgebra relacional, DDL e DML em SQL). É uma desvantagem do modelo relacional a representação não natural de objetos complexos.

Page 16: Banco dedados aula001

16. DDL e DML• O esquema de um banco de dados é a estrutura geral do

BD. Sua estrutura não muda com freqüência e há um esquema para cada nível de abstração e um subesquema a cada visão do usuário. Um esquema pode ser representado de uma forma textual ou gráfica. Normalmente, utiliza-se o DER (Diagrama de Entidade

• Relacionamento) para a representação gráfica do esquema de um BD.

• Exemplo de esquema na forma textual:Medico (Cod_med, Nnome_med, Especialidade) Paciente (Cod_pac, Nome_pac) Consulta (Cod_med, Cod_pac, Dia, Hora)

• Para definirmos os esquemas usamos as linguagens do banco de dados para isso, que são: DDL e DML

Page 17: Banco dedados aula001

17. DDL• Data Definition LanguageI: Linguagem de

Definição de Dados, Permite especificar o esquema do BD, através de um conjunto de definições de dados.

• O esquema do BD fica armazenado numa área do SGBD chamada de Dicionário de Dados. Na maioria das vezes, uma DDL atua nos esquemas conceitual e interno

Page 18: Banco dedados aula001

18. DML• Data Manipulation Language: Linguagem de

Manipulação de Dados, Permite: recuperar, incluir, alterar e excluir dados no BD.

• O esquema do BD fica armazenado numa área do SGBD chamada de Dicionário de Dados. Na maioria das vezes, uma DDL atua nos esquemas conceitual e interno

• Tanto a DDL quanto a DML estão contidas na linguagem principal dos SGBD que é a SQL – Structured Query Language = Linguagem Estruturada para Consultas, com ela podemos fazer uso da DDL e da DML ao mesmo tempo

Page 19: Banco dedados aula001

19. Papeis Humanos no SGBD

Page 20: Banco dedados aula001

20. Classificação dos SGBD

• Monousuário: somente um usuário acessa por vez• Multiusuário: vários usuários podem ter acesso ao

mesmo tempo, na internet por exemplo• Centralizado: os dados ficam em um único servidor

de banco de dados• Distribuído: os dados ficam em diversos servidores

de banco de dados ligados em rede

Page 21: Banco dedados aula001

21. Estrura Geral de um SGBD

Page 22: Banco dedados aula001

22. Conceitos para BD Relacional• Tabela: pode representar uma Entidade ou um Relacionamento

do diagrama DER da Análise• Tupla: linha completa em uma tabela• Atributo: uma coluna em uma tabela• Domínio: conjunto de valores possíveis para um determinado

atributo, Ex: sexo=[Macho|Fêmea]• Chave primária: atributo ou atributos de uma tabela que

identificam uma única linha da tabela• Chave secundária: atributo ou atributos escolhidos para dar

uma ordem nas tuplas da tabela• Chave estrangeira: atributo que liga uma tabela a outra sendo

chave primária na outra tabela• Chave simples: formada por um único atributo• Chave composta: formada por dois ou mais atributos