• Nenhum resultado encontrado

PROFESSOR AQUI. AULA nº 01. Conceitos de Banco de Dados. Prof. Adilson da Silva

N/A
N/A
Protected

Academic year: 2022

Share "PROFESSOR AQUI. AULA nº 01. Conceitos de Banco de Dados. Prof. Adilson da Silva"

Copied!
55
0
0

Texto

(1)

Conceitos de Banco de Dados AULA nº 01

Prof. Adilson da Silva

PROFESSOR AQUI

(2)

Banco de Dados

Prof. Adilson da Silva

(3)

Objetivos da Disciplina

Propiciar ao aluno conhecimento abrangente de um Sistema de Gerência de Banco de Dados

Propiciar um estudo aprofundado de diferentes modelos de dados dentre eles os modelos Entidade-

Relacionamento e Relacional

Utilizar softwares para análise e prática de conceitos Estudados

Definir e implementar um esquema de um banco de dados para uma determinada aplicação.

(4)

Bibliografia

SILBERSCHATZ, A., e KORTH, S. e SUDARSHAN, S.

Sistema de Banco de Dados, 5a edição, Editora Campus, 2006.

NAVATHE, S. e ELMASRI, R. Fundamentals of Database Systems, 4a edição, Addison Wesley, 2004.

DATE, C. J. Introdução a Sistemas de Banco de Dados, Campus, 2000.

(5)

Bibliografia Extra

DAMA, Luís. SQL – Structured Query Language, 6a Edição, Editora LTC 2007

Artigos:

http://www.devmedia.com.br/conceitos-fundamentais-de-banco-de- dados/1649

http://www.devmedia.com.br/conceitos-fundamentais-de-banco-de- dados-parte-2/1678

http://www.devmedia.com.br/articles/viewaula.asp?idcomp=31341

http://www.devmedia.com.br/curso/curso-modelagem-de-bancos-de- dados-relacionais/409

http://www.devmedia.com.br/modelo-entidade-relacionamento-mer-e- diagrama-entidade-relacionamento-der/14332

http://www.devmedia.com.br/artigo-sql-magazine-32-mais-de-90- dicas-de-modelagem-de-dados/7832

(6)

Sala de aula virtual (Class Room)

Class Room

Redes – FBD

Código

z74hvvt

(7)

Conceitos

Diferença entre Informação e Dado

Informação: é qualquer fato ou conhecimento do mundo real e que pode ou não ser registrado /armazenado;

Dado: é a representação da informação, que pode estar registrado em papel, num quadro de aviso ou no disco rígido do computador

Exemplo:

Informação: Está muito quente hoje

Dado: A temperatura hoje é de 38 graus Celsius

O computador armazena e processa dados e não informações

(8)

Aplicações de Banco de Dados

Bancos de dados estão presentes em todas as áreas da Informática.

Atualmente, não se imagina Informática sem bancos de dados!

Mas, para entendermos a importância dos bancos de dados, é preciso voltar no tempo.

Precisamos lembrar os problemas dos sistemas anteriores ao surgimento dos bancos de dados.

Esses sistemas guardavam informação em arquivos.

(9)

Sistemas Baseados em Arquivos

Nos sistemas baseados em arquivos:

a aplicação era escrita em uma linguagem de programação

e acessava diretamente um arquivo físico da máquina.

Essa abordagem funcionava bem, contanto que:

apenas um usuário acessasse os dados do arquivo;

a quantidade de dados fosse pequena. ARQUIVO

APLICAÇÃO

Extração de dados Gravação

de dados

USUÁRIO

(10)

ARQUIVO 1

APLICAÇÃO

ARQUIVO 2

Dificuldade de Manutenção – Uso de arquivos

À medida que os sistemas cresciam, uma mesma aplicação passava a gerenciar mais de um arquivo de dados.

Ex.: Criava-se um novo arquivo quando o anterior não comportava o formato dos novos dados a serem acrescentados.

Nesse caso, a aplicação era atualizada para enxergar o novo arquivo:

O código-fonte era alterado e recompilado.

Isso gerava um custo de manutenção do sistema.

(11)

Redundância de Dados – Uso de Arquivos

Além disso, acontecia de uma mesma informação ser gravada em mais de um arquivo (p. ex., nome do cliente).

Esse problema é chamado de redundância de dados.

A repetição é desnecessária e desperdiça espaço em disco.

Dados Pessoais

Cargos e Salários

Nome Endereço Telefone

José Pereira Rua Amélia, 37 3465-2011

Maria Alves Av Domingos Fereira, 200,ap 502 3326-8976

Recardo Almeida Rua Nova.347 3322-4077

... ... ...

Nome Cargo Salário

Maria Alves Programador R$ 1500,00

José Pereira Rua Nova, 347 R$ 2300,00

... ... ...

(12)

Inconsistência de Dados – Uso de arquivos

Outro tipo de problema ocorria quando o sistema, por algum erro, tornava uma informação incompatível com outra.

Esse problema é chamado de inconsistência de dados.

A integridade dos dados fica comprometida.

Cargos da empresa

Cargos e Salários

Como saber o nível de Maria, se o cargo Programador não

existe nesta tabela?

Cargo Nível

Administrador de Redes Nível Superior Técnico de Redes Nível médio Engenheiro de Software Nível Superior

Gerente Nível Superior

Nome Cargo Salário

Maria Alves Programador R$ 1500,00 José Pereira Gerente R$ 2300,00

... ... ...

(13)

Concorrência e Segurança - Uso de arquivos

Dificuldade de controlar concorrência:

É difícil controlar arquivos físicos quando vários usuários estão acessando ao mesmo tempo.

Ex.: Em uma companhia aérea, dois atendentes

tentando reservar a mesma poltrona em um mesmo voo.

Dificuldade de controlar segurança:

Com arquivos físicos, é difícil fornecer níveis diferentes de acesso para usuários distintos.

Ex.: O presidente da empresa pode ver dados de todos os funcionários, mas um gerente só pode ver os dados dos seus subordinados.

(14)

Outros problemas - Uso de arquivos

Ligação muito estreita entre as aplicações e os dados:

A ligação entre as aplicações e os dados que estas

gerenciam é tão estreita que qualquer necessidade adicional pode explicar o desenvolvimento de novas aplicações.

Inexistência de relações – Cada arquivo existe por si só.

Não existem relações entre arquivos. As relações tem de ser implementadas (em código) por cada uma das aplicações.

Integridade – É possível que aplicações distintas acessem o mesmo arquivo de dados

(15)

Banco de Dados

Todos esses problemas levaram ao desenvolvimento dos bancos de dados.

Mas o que é um banco de dados?

Entre os vários conceitos encontrados, podemos adotar o seguinte:

Dados são fatos que podem ser gravados e que possuem um significado implícito [Elmasri e Navathe, 2005].

De uma forma simplista, podemos dizer que um banco de dados consiste em uma coleção de dados estruturados, organizados e armazenados de forma persistente [Damas 2007].

(16)

Conceitos - Banco de dados

Banco de Dados:

É uma coleção de dados relacionados

O uso do termo é mais restrito em virtude das seguintes características:

Um BD representa algum aspecto do mundo real, o qual chamamos de Minimundo ou Universo de Discurso

É um conjunto lógico e ordenado de dados que possuem algum significado inerente

Um BD é projetado, construído e povoado com dados que possuem objetivos específicos

Ingredientes necessários em um BD:

Uma fonte de dados da qual derivamos os dados

A interação com o mundo real

Público que demonstra interesse nos dados contidos no Banco

(17)

Qualidade da Informação

A informação é um recurso vital e de estrema importância para a organização. A qualidade da informação depende de vários fatores:

Atualidade : Deve ser a mais atual possível para facilitar o processo de tomada decisão;

Correção : Deve ser correta. As instruções tem de ser capazes de verificar, tanto quanto possível, a correção da informação que

processam.

Relevância : Deve ser devidamente selecionada e filtrada, de

modo que se use apenas aquela que é relevante para a tomada de decisão na organização.

Disponibilidade: Deve estar disponível e acessível.

Legibilidade: Deve ser fornecida de tal modo que seja facilmente interpretada pelos usuários.

(18)

Comparação com o Processamento Tradicional de Arquivos

No processamento tradicional de arquivos os usuários definem os arquivos necessários para cada aplicação específica,

resultando em redundância e desperdício de espaço de armazenamento;

No enfoque de BD não é armazenado somente o banco em si, mas sim a estrutura do banco de dados e uma descrição

completa (Catalogo do Sistema);

Acesso não requer conhecimento destas estruturas (Independência dos Dados);

Quando houver alteração na estrutura de dados os programação não precisam ser alterados;

As informações do catalogo são chamadas de Metadados.

Conceitos

(19)

Programadores de aplicações – São profissionais de informática que interagem com o sistema através de comandos da linguagem SQL embutidos nas aplicações que desenvolvem.

Usuários sofisticados – São usuários que interagem diretamente com o sistema sem escreverem qualquer aplicação. Os comandos da linguagem SQL (ou outra) são escritos diretamente no

interpretador de comandos do SGBD.

Usuários especializados – São usuários (normalmente aplicações informatizadas) que interagem com o SGBD de forma particular.

Usuários comuns – São aqueles que utilizam o SGBD através de aplicações específicas sem terem, no entanto, a noção dos

mecanismos envolvidos.

Usuários de um SGBD

(20)

Um usuário do SGBD que merece um destaque especial é o

administrador de banco de dados (grupo dos “usuários sofisticados”).

O administrador de Banco de dados (DBA) – é o profissional responsável pela administração do Banco de Dados.

Maior responsável pelo bom funcionamento de todo o sistema.

Criação e definição dos banco de dados.

Escolha das estruturar de suporte aos dados, índices, métodos de acesso, etc.

Definição do perfil de acesso aos dados de todos os usuários.

Especificação das regras de integridade do banco de dados.

Elo entre os diferentes usuários.

Monitoramento do desempenho do sistema, tomando as medidas necessárias para melhorá-lo/ajustá-lo.

Definição das estratégias de Backup & Recovery. (Copia e Recuperação).

Usuários de um SGBD - ADM

(21)

Em uma tentativa de estabelecer um padrão para toda a indústria de desenvolvimento de tecnologia de banco de dados, foi defina a

arquitetura ANSI/SPARC com o objetivo de permitir que um mesmo SGBD possa ser utilizado por vários tipos de usuários, respeitando as particularidades e necessidades de cada um.

Composta por três níveis independentes.

Arquitetura de Três Esquemas

Dados

Nível Interno

Nível Externo Nível Conceitual

(22)

Arquitetura de Três Esquemas

1. Nível Interno – esquema interno

Armazenamento físico dos dados e definição das estruturas físicas que permitem obter um bom nível de desempenho.

2. Nível Conceitual – esquema conceitual ou lógico

Representação do modelo conceitual de dados, independente de qualquer usuário ou aplicação. Esta camada esconde

detalhes de implementação física dos arquivos que armazenam os dados.

3. Nível Externo – esquema externo (visões dos usuários)

Descreve as visões dos usuários: a parte da base de dados em que cada grupo de usuários tem interesse.

Descrição de subesquemas

(23)

Arquitetura de Três níveis (ou três esquemas) permite:

Independência física – Alterações no nível interno não repercutem no nível conceitual.

Independência lógica – Alterações no esquema conceitual não têm, necessariamente, de alterar o esquema externo.

Independência de programa/dados – Alterações que envolvam a estrutura dos dados, ou a sua implementação física, não obrigam a alterações no nível da aplicação.

Sistema de Banco de Dados

(24)

Em qualquer modelo de dados é importante distinguir entre a descrição do banco de dados e o banco de dados de fato.

Esquema

É a descrição do banco de dados

É definido durante o projeto do banco de dados e não se espera que seja alterado frequentemente

Instância

É o banco de dados em si

Em uma linguagem de programação, isto é equivalente a uma declaração de uma variável do tipo definido e o seu valor

Conceitos

(25)

Conceito - Transação

Uma transação é uma coleção de operações que desempenha uma função lógica única dentro de uma aplicação do sistema de banco de dados.

Cada aplicação é uma unidade de atomicidade e consistência.

Assegurar as propriedades de atomicidade e durabilidade é também responsabilidade do sistema de banco de dados, em especial dos componentes de gerenciamento de transações;

(26)

Consistência de Dados

É o estado ou caráter do que é coerente, do que tem solidez, veracidade, credibilidade, estabilidade, realidade

Consistência: sempre que a mesma informação é

armazenada, mesmo que em locais diferentes (redundância), ela tem o mesmo valor

Quando os dados se encontram em um estado inconsistente, informações incorretas ou contraditórias podem ser

fornecidas aos usuários

Conceitos – Consistência de Dados

(27)

Vantagens de Utilizar um SGBD

Independência entre programas e dados

Catalogo que consiste de metadados – dados sobre os dados

Independência entre operações e programas

Funções / procedimentos de manipulação dos dados armazenados também fazem parte do BD

Segurança

Controle de acesso mais especializado

Suporte a Visões

Mesmo conjunto de dados pode ser apresentado a usuários diferentes de forma distinta

(28)

Facilidades de Backup e Restauração

Fornecimento de Múltiplas Interfaces aos Usuários

Baseadas em Menus e formulários (GUIs – Graphical USer Interface)

Linguagens de consulta e interfaces de linguagem de programação

Vantagens de Utilizar um SGBD

(29)

Aplicações de Banco de Dados

Banco: todas as transações

Linhas aéreas: reservas, horários

Universidades: matrículas, registros, notas

Vendas: clientes, produtos, compras

Revendedores on-line: acompanhamento de pedidos, recomendações personalizadas

Indústria: produção, estoque, pedidos, cadeia de suprimento

Recursos humanos: registros de empregados, salários, deduções de impostos

(30)

É um ambiente de hardware e de software composto por dados armazenados em um banco de dados (BD), pelo software de gerência do banco de dados (SGBD) e os programas de aplicação

Sistema de Banco de Dados

(31)

Configuração de um Sistema de Banco Simplificado

Sistema de Banco de Dados

(32)

Independência de Dados

É a capacidade de mudar o esquema em um nível do sistema de banco de dados sem que ocorram alterações do esquema no

próximo nível mais alto

Independência de dados lógica

Refere-se a capacidade de modificar o esquema lógico sem que, com isso, qualquer programa de aplicação precise ser reescrito

Independência de dados física

Refere-se a capacidade de modificar o esquema físico sem que, com isso, qualquer programa de aplicação precisa ser reescrito

O conceito de independência de dados é de várias formas similar ao conceito de tipo abstrato de dados empregado nas linguagens de programação

Sistema de Banco de Dados

(33)

Sistema de Banco de Dados

(34)

Sistema de Banco de Dados

(35)

Sistema de Banco de Dados

(36)

Banco de dados

Banco de dados consiste em uma coleção de dados estruturados, organizados e armazenados de forma persistente.

Persistente: Significa que os dados continuam a existir após:

Terminar a aplicação que os gere;

Terminar a sessão do usuário;

Desligar o computador;

(37)

Projeto Conceitual

Independente de SGBD

Modelo Conceitual – MER

Projeto Lógico

Esquema Lógico

Mapeamento do Modelo Conceitual para modelo do SGBD

Ex: Modelo Relacional

Projeto Físico

Estruturas Físicas de Armazenamento

Organização de registros físicos

Índices

Critérios

Tempo de resposta

Espaço utilizado

Número de transações

Passos para a criação de um banco de dados

(38)

Modelos de Banco de Dados

No mundo real existe todo tipo de modelos, e eles nos são

apresentados quase que diariamente , com por exemplo: Modelos econômicos os Estatísticos;

Também existem modelos específicos para a representação de dados ou da estrutura de dados em um banco de dados.

A maior parte dos sistemas de Gerencia de Banco de Dados atuais baseia-se no modelo relacional.

Tomando esse como base podemos dividir os modelos da forma que se segue.

(39)

Modelos de Banco de Dados

1 – Geração Pré-relacional;

Sistemas Baseados em Arquivos;

Modelo Hierárquico;

Modelo em Rede;

2 – Geração Relacional

Modelo relacional

3 – Geração Pós-Relacional

Modelo Orientado a Objetos;

Modelo Objeto-Relacional

Outros Modelos.

(40)

Modelos Lógicos baseados em registros

Descrição dos dados nos níveis conceitual e externo

O banco de dados é estruturado em registros de formatos fixos, de diversos tipos

Cada tipo de registro tem sua coleção de campos ou atributos, de tamanho fixo

Há linguagens para expressar consultas e atualizações no banco de dados

Os três modelos mais comumente utilizados são:

Relacional

Rede

Hierárquico

O modelo relacional é o mais utilizado atualmente

(41)

Modelo Hierárquico

Um dos primeiros modelos de banco de dados com um sistema de gerência de banco de dados associado, e é resultado da

evolução dos sistemas de gerência de arquivos;

No modelo hierárquico, os dados encontram-se organizados em hierarquia ou arvore de Nó sem qualquer conteúdo. Neste

modelo estabelecem-se relações do tipo pai-filho, em que pai pode ser relacionar com um ou mais filhos, mas em que cada filho pode , unicamente se relacionar com o seu próprio Pai.

Um banco de dados hierárquico consiste em uma coleção de

registros que estão ligados hierarquicamente em ter si através de links. Nesse modelo , os registros são organizados com coleções de árvores.

Cada registro contém uma coleção de campos com valor único e um link que faz a associação entre dois registros;

(42)

Vantagens

Elevado desempenho no acesso sequencial de dados;

Facilidade em representar informação com relações hierárquicas;

Desvantagens

Limitações quanto ao acesso aleatório aos dados.

O desenvolvimento de aplicações é lento, pois o programador terá de conhecer em detalhes a estrutura implementada;

Não permite estabelecer relacionamentos M:N, apenas 1:1 e 1:N;

Não é eficiente na adição de novo relacionamento;

Replicação da informação contida no banco de dados leva a inconsistência nos dados;

Modelo Hierárquico

(43)

Maria 154879984 ...

Modelo Hierárquico Representação

José 015425446 ...

8745-6 235,90

5418-7 541,20 4876-9 145,00

(44)

Modelo Rede

O modelo foi desenvolvido para resolver alguns dos problemas associados ao modelo hierárquico, ele é uma extensão desse modelo, porém, elimina o conceito de hierarquia, permitindo que um mesmo registro possua várias associações.

Ele representa os relacionamentos como conjuntos (Sets) e não hierarquias;

Chama-se de Rede por que representa os dados sob a forma de uma rede registros e conjuntos de links, resultando casualmente em uma rede.

Ele permite a utilização de relacionamentos N:M;

Apesar desse modelo ser uma evolução do modelo hierárquico, e ter resolvido vários problemas do anterior, ainda se encontrava longe do ideal.

(45)

Nome CPF Rua Cidade

José 015425446 Rua das Flores São Paulo

Maria 154879984 Rua Linda Bauru

Os dados são representados por um conjunto de registros

Cada registro é uma coleção de campos (atributos), cada qual contendo somente um valor

As relações entre os registros são representados por links (ligações)

Um link é uma associação entre dois registros

Nr_Conta Saldo

5418-7 541,20

4876-9 145,00

8745-6 235,90

Modelo Rede

(46)

Modelo Relacional

O modelo relacional surgiu como uma tentativa de liberar os usuários das especificações rígidas associadas ao formato dos

dados, como acontecia com o modelo hierárquico e com o modelo em rede;

Uma das principais vantagens desse modelo foi ter se baseado em um ramo da matemática que é, simultaneamente simples e

poderoso;

Baseia-se em um modelo matemático rigoroso;

Durante alguns anos foi desenvolvido e implementado apenas em universidades e em laboratórios de pesquisa sesta área;

Os mais críticos consideravam que o sistema seria impraticável devido a velocidade do hardware e a limitação das linguagens de programação existentes na época;

(47)

Nome CPF Rua Cidade Nr_Conta

José 015425446 Rua das Flores São

Paulo

5418-7

Maria 154879984 Rua Linda Bauru 4876-9

José 015425446 Rua das Flores São

Paulo

8745-6

Utiliza um conjunto de tabelas para representar tanto os dados como a relação entre eles;

Cada tabela possui múltiplas colunas e cada uma possui um nome único;

Conjunto de operadores;

Álgebra Relacional e Cálculo Relacional;

Restrições de Integridade;

Integridade de chave primária;

Integridade Referencial;

Integridade de Domínio;

Nr_Conta Saldo

5418-7 541,20

4876-9 145,00

8745-6 235,90

Modelo Relacional

(48)

Década de 1950 e início da década de 1960:

Processamento de dados usando fitas magnéticas para armazenamento

Fitas fornecem apenas acesso sequencial

Cartões perfurados para entrada

Final da década de 1960 e década de 1970:

Discos rígidos permitem acesso direto aos dados

Modelos de dados de rede e hierárquico em largo uso

Ted Codd define o modelo de dados relacional

Ganharia o ACM Turing Award por este trabalho

IBM Research inicia o protótipo do System

UC Berkeley inicia o protótipo do Ingres

Processamento de transação de alto desempenho (para a época)

História dos Sistemas de Banco de Dados

(49)

Diferença entre os modelos

O modelo relacional difere dos modelos hierárquico e em rede por não usar nem ponteiros nem links. Ele relaciona os registros por valores próprios a eles. Como não é necessário o uso de ponteiros, houve a possibilidade do desenvolvimento de fundamentos matemáticos para sua definição.

(50)

Álgebra e Cálculo Relacional

Codd propôs duas interfaces para o modelo relacional:

1. Álgebra relacional

Seleção

Projeção

Produto Cartesiano

União

Diferença

Interseção

Junção

Divisão.

(51)

Álgebra e Cálculo Relacional

Codd propôs duas interfaces para o modelo relacional:

2. Cálculo relacional

Qualificador Existencial

Qualificador universal

Com a utilização desse modelo traz a capacidade de se fazer alterações no esquema do banco de dados sem influenciar na manipulação do Banco de dados.

(52)

Regras de Codd

Regra 0 – Capacidade relacional total

Regra 1 – Representação da informação em tabelas Regra 2 – Garantia de acesso

Regra 3 – Suporte sistemático de valores NULL Regra 4 – Catálogo ativo e disponível

Regra 5 – Linguagem de acesso aos dados Regra 6 – Atualização de views

Regra 7 – Operações de alto nível

Regra 8 – Independência Física dos dados Regra 9 – Independência Lógica dos dados Regra 10 – Independência da integridade

Regra 11 – Independência (transferência de localização) Regra 12 – Não-subversão

(53)

Dicas de leitura

Banco de dados: saiba o que é, os tipos e a importância para o site da sua empresa

https://rockcontent.com/blog/banco-de-dados/

Conceitos Fundamentais de Banco de Dados

https://www.devmedia.com.br/conceitos-fundamentais-de-banco-de- dados/1649

(54)

Dúvidas!?

Adilson Silva

[email protected]

(55)

PROFESSOR AQUI

Referências

Documentos relacionados

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

Field Studies on the Ecology of the Sand Fly Lutzomyia longipalpis (Diptera: Psychod- idae) at an Endemic Focus of American Visceral Leishmaniasis in Colombia. Bionomía de los

Esse trabalho, apresentado no contexto do Curso de Especialização de Educação na Cultura Digital da Universidade Federal de Santa Catarina, trata do processo de

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

Resumo: O presente trabalho corresponde a um estudo empírico descritivo e exploratório que aborda comportamentos e falas de atores políticos que participaram do processo legislativo

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e

onde Qe são as forças de origem externa ao sistema e Qc são as forças de reação. Estas equações não podem ser utilizadas diretamente, pois as forças de