banco dados i - introducao
TRANSCRIPT
Banco Dados I
Aula IntrodutóriaCiência da Computação
EMENTA
PLANO DE ENSINO
• - Dados x Informações• - Introdução aos Banco de Dados• - Conceito de Tupla• - A Importância do Projeto de Banco de Dados• - Problema de Gerenciamento de Dados do Sistema de Arquivos• - Modelagem e Modelos de Dados• - Blocos Básicos de Construção• - Regras de Negócio• - Graus de Abstração• - Modelo de Banco de Dados Relacional• - Perspectiva lógica dos Dados• - Chaves• - Regras de Integridade• - Operadores do Conjunto Relacional• - Dicionário de Dados e Catálogo de Sistemas• - Relacionamentos dentro do banco de dados relacional
1º Bimestre
PLANO DE ENSINO
• - Relacionamentos dentro do banco de dados relacional• - Nova Abordagem à redundância de Dados• - Regras de Cood para bancos de dados Relacionais• - Modelagem Entidade Relacionamento (ER)• - Desenvolvimento de Diagramas ER• - Desafios de Projeto – Conflito de Objetivos• - Normalização de Bancos• -Tabelas de banco de dados e Normalização• - Aprimoramento de Projeto• - Considerações sobre chaves artificiais (Surrogates)• - Formas normais de nível superior• - Normalização de projetos de Banco de Dados• - Denormalização• - Agrupamento de Entidades• - Integridade de Entidades
1º Bimestre
PLANO DE ENSINO
• - Introducao a linguagem SQL • - Comandos de Definição de Dados (DDL)• - Comandos de Manipulação de Dados
(DML)• - Consulta de Seleção• - Comandos avançados de definição de
dados• - Consultas de Seleção Avançadas• - Tabelas Virtuais• - Junção de Tabelas • - Operadores do Conjunto Relacional• - Operadores de Junção SQL • - Subconsultas e consultas
correlacionadas
2º Bimestre
DADOS E INFORMAÇÃO
1 - Introdução
Aumento do volume de
informação.
Maiores dificuldades de gestão.
Aparecimento das Bases de Dados
http://www.slideshare.net/guest3118b2/introducao-base-dados-i-173834
2 – Dados e Informação
• Muitas vezes, utiliza-se se forma incorrecta os
termos “dados” e “informação”. Quando, na
realizade, são conceitos bem distintos.
2 – Dados e Informação
• Dados são factos isolados e recolhidos algures.
Por exemplo, a idade e o número de telefone de
uma pessoa.
2 – Dados e Informação
• A informação é o resultado da aplicação de
um conjunto de operações sobre os dados.
DADOS PROCESSAMENTO INFORMAÇÃO
2 – Dados e Informação
• A informação tem um carácter subjectivo,
aquilo que para uma pessoa poderá ser
informação, poderá não o ser para outra.
3 – BASES DE DADOS
3 – Bases de Dados
• Genericamente, podemos definir uma Base de
Dados como sendo um conjunto de dados
organizados e relacionados entre si, de acordo com
um determinado contexto.
3 – Bases de Dados
• Principais vantagens:
– Diminuir o espaço ocupado pela informação;
– Facilitar o acesso e a actualização da informação;
– Aumentar a velocidade da pesquisa;
– Evitar a redundância da informação.
3 – Bases de Dados
• Todas as operações realizadas pelo utilizador na
base de dados, nunca são realizadas directamente
na mesma, mas sim através de uma aplicação
especial chamada de Sistema de Gestão de Bases
de Dados.
Origens
• Um artigo seu em 1970 definiu 13 propriedades (regras) para um SGBD Relacional.
Conceito Banco de Dados
“Banco de dados (ou base de dados), é um conjunto de registros dispostos em estrutura regular que possibilita a
reorganização dos mesmos e produção de informação. Um banco de dados
normalmente agrupa registros utilizáveis para um mesmo fim.”
http://pt.wikipedia.org/wiki/Banco_de_dados
Conceito SGBD
“Um Sistema de Gerenciamento de Banco de Dados (SGBD) - do inglês DBMS (Data Base
Management System) - é o conjunto de programas de computador (softwares)
responsáveis pelo gerenciamento de um(a) base de dados. Seu principal objetivo é retirar da
aplicação cliente a responsabilidade de gerenciar o acesso, manipulação e organização
dos dados.”
http://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_banco_de_dados
SGBD Hierárquico• Uma base de dados hierárquica é um tipo de sistema
de gerenciamento de banco de dados que conecta registos numa estrutura de dados em árvore através de ligações de tal modo que cada tipo de registo tenha apenas um possuidor.
• Modelo criado nos anos 60.
http://pt.wikipedia.org/wiki/Banco_de_dados_hier%C3%A1rquico
SGBD Rede
• Evolução do Hierárquico, permite resolver questões complementares, foi criado em 1969.
SGDB Relacional
• Modelo mais utilizado atualmente;• Derivado do estudo de E.F. Codd em Junho/70• Primeiras implementações no final dos anos
70• Origem da ORACLE.
SGBD Orientado à Objetosou Objeto-Relacional
• São versões de nicho em um ambiente dominado por Bancos Relacionais
• Combinam recursos de OOP e BDs Relacionais• Primeira aparição em 1985.
SGBD Semi-Estruturado
• Não há separação entre entre Modelo e Dados• Mais Flexível• Mais fácil de modificar• Maior Portabilidade• Baseado em XML
• Pouca informação disponível ainda
SGBD Multidimensional
• Utilizado para leitura de grandes volumes de dados
• Flexibilidade para cruzamento de informações
• Baseado no conceito de CUBO OLAP
• Não pode ser usado para processos transacionais (Gravação)
As 13 Regras de E.F.Codd1. Regra Fundamental:
Um SGBD relacional deve gerenciar seus dados usando apenas suas capacidades relacionais
2. Regra da informação: Toda informação deve ser representada de uma única forma, como dados em uma tabela
3. Regra da garantia de acesso: Todo dado (valor atômico) pode ser acessado logicamente (e unicamente) usando o nome da tabela, o valor da chave primária da linha e o nome da coluna.
4. Tratamento sistemático de valores nulos: Os valores nulos (diferente do zero, da string vazia, da string de caracteres em brancos e outros valores não nulos) existem para representar dados não existentes de forma sistemática e independente do tipo de dado.
5. Catálogo dinâmico on-line baseado no modelo relacional: A descrição do banco de dados é representada no nível lógico como dados ordinários (isso é, em tabelas), permitindo que usuários autorizados apliquem as mesmas formas de manipular dados aplicada aos dados comuns ao consultá-las.
6. Regra da sub-linguagem compreensiva: Um sistema relacional pode suportar várias linguagens e formas de uso, porém deve possuir ao menos uma linguagem com sintaxe bem definida e expressa por cadeia de caracteres e com habilidade de apoiar a definição de dados, a definição de visões, a manipulação de dados, as restrições de integridade, a autorização e a fronteira de transações.
7. Regra da atualização de visões: Toda visão que for teoricamente atualizável será também atualizável pelo sistema.
8. Inserção, atualização e eliminação de alto nível: A capacidade de manipular a relação base ou relações derivadas como um operador único não
se aplica apenas a recuperação de dados, mas também a inserção, alteração e eliminação de
dados.
9. Independência dos dados físicos: Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas
quaisquer que sejam as modificações na representação de armazenagem ou métodos de
acesso internos.
As 13 Regras de E.F.Codd
10. Independência lógica de dados Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que
sejam as mudanças de informação que permitam teoricamente a não alteração das tabelas base.
11. Independência de integridade: As relações de integridade específicas de um banco de dados relacional devem ser definidas em uma sub-
linguagem de dados e armazenadas no catálogo (e não em programas).
12. Independência de distribuição: A linguagem de manipulação de dados deve possibilitar que as aplicações permaneçam inalteradas estejam
os dados centralizados ou distribuídos fisicamente.
13. Regra da Não-subversão: Se o sistema relacional possui uma linguagem de baixo nível (um registro por vez), não deve ser possível
subverter ou ignorar as regras de integridade e restrições definidas no alto nível (muitos registros por vez).
As 13 Regras de E.F.Codd
A TUPLA
• Registos (ou tuplas)• Cada linha formada por uma lista
ordenada de colunas representa um registro, ou tupla. Os registros não precisam conter informações em todas as colunas, podendo assumir valores nulos quando assim se fizer necessário.
• Resumidamente, um registro é uma instância de uma tabela, ou entidade.
Referencias
http://pt.wikipedia.org/wiki/Banco_de_dados
http://pt.wikipedia.org/wiki/Banco_de_dados_relacional
http://www.slideshare.net/guest3118b2/introducao-base-dados-i-173834