Banco dedados aula001

Preview:

Citation preview

Aula 001

Banco de Dados

PRONATECPrograma Nacional de Acesso ao

Ensino Técnico e Emprego

PRONATECPrograma Nacional de Acesso ao

Ensino Técnico e Emprego

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

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

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

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.

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

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

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.

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

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.

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

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

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”.

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.

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

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

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

19. Papeis Humanos no SGBD

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

21. Estrura Geral de um SGBD

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

Recommended