Tecnologia de Base de Dados
Introdução à Base de Dados
Tecnologia de Base de Dados
Plano Temático
1. Introdução à Base de Dados; 2. Modelo Relacional;
3. Modelação de dados;
4. Formas Normais e Processo de Normalização; 5. Operações Relacionais (Álgebra Relacional); 6. Linguagem SQL;
7. Administração de Base de Dados;
8. Introdução à Programação em ambiente relacional (PL/SQL).
Tecnologia de Base de Dados
O que é que queremos discutir?....
1- Introdução à Base de Dados - Dados vs informação;
- Sistema de Ficheiros vs. Base de Dados; - Modelos de Base de Dados;
- Sistemas de Gestão de Base de Dados (SGBD);
Tecnologia de Base de Dados
O que é que queremos discutir?....
2- Modelo Relacional- Estrutura dos dados;
- Caracteristicas;
- Conceito de Chave e tipos;
- Dominio de atributos e sua implementação; - Modelos de dados;
- Importância;
- Entidades e atributos;
- Grau de relacionamentos; - Cardinalidade.
Tecnologia de Base de Dados
3 – Modelação de Dados
- Modelo E-R;
- Principais conceitos; - Diagramas ER;
- Conversão do Modelo ER para o Modelo Relacional.
4 – Dependências funcionais e Processo de Normalização
- Objectivos do processo de normalização; - Dependências Funcionais;
- Processo de Normalização: 1FN, 2FN, 3FN e BCNF, 4FN e 5FN.
Tecnologia de Base de Dados
5 – Álgebra Relacional
• Conceito de Álgebra Relacional;
• Operações da Álgebra Relacional (Selecção, Projecção e operações mistas);
• Operações Matemáticas (União, Intercessão e Diferença);
6. Linguagem SQL
- Estrutura básica;
- Linguagem de Definição de dados; - Linguagem de Manipulação de dados; - Funções agregadas;
- Vistas (views);
- Linguagem de Controlo de Dados; - Linguagem de Transacção de Dados.
Tecnologia de Base de Dados
7 - Administração de Base de Dados
•Aspectos gerais de armazenamento de dados; •Indexação;
•Transacções e controlo de concorrência; •Criação e manipulação de utilizadores.
8. Introdução à Programação em ambiente relacional (PL/SQL)
- Vantagens da programação PL/SQL; - Bloco genérico PL/SQL; - Tipo de dados; - Variáveis e constantes; - Operadores; - Literais;
- Blocos & excepções, cursores, triggers.
Tecnologia de Base de Dados
… avaliação...!
• Testes – 60% • Trabalhos Práticos: • Em grupo – 15% • Individuais – 20% • Outros elementos ( ex.participação, assiduidade, etc.) – 5%
Tecnologia de Base de Dados
• Ullman J., Principles of Database and Knowledge-Base Systems, Volumes I and II, Computer Science Press, 1988;
• Pereira J.,Tecnologia de Bases de Dados , FCA - Editora de Informática, 1997;
• Laudon, Kenneth e Laudon, Jane Price, “Sistemas de Informação com Internet”; LTC –Livros Técnicos e Científicos, S.A.; ISBN 85-216-1182-X; 4ª edição; Rio de Janeiro, 1999;
• Bell D., and Grimson J., “Distributed Database Systems”, Addison-Wesley Publishing Company, New York, USA, 1992;
• Ramakrishman R. and Gehrke G., Database Management System, 3rd Edition, Mc Graw Hill High Edication, 2003;
• Date, C.J., Darwen, H., A Guide to the SQL Standard , IV Edição, Addison- Wesley Inc, 1997.
Tecnologia de Base de Dados
1. Introdução
O conceito de Tecnologia
O conceito Tecnologia aplica-se a tudo aquilo que, não existindo na natureza, o ser humano inventa para expandir os seus poderes, tornar o seu trabalho mais fácil e fazer a sua vida mais agradável. Etimologicamente, o termo tecnologia deriva dos termos gregos
Techné + Logia, onde:
•Techné “técnica”, que significa saber fazer ou aptidão especial para realizar algo na prática;
Tecnologia de Base de Dados
1. Introdução
O conceito de Tecnologia (cont.)
Unindo a definição destas duas palavras, podemos concluir que a tecnologia é um conhecimento voltado para a prática. É um saber fazer.
•A tecnologia é o conhecimento técnico acumulado, a capacidade
ou arte necessária para investigar, produzir técnicas ou equipamentos novos com uma finalidade.
Tecnologia de Base de Dados
Dados Vs Informação
Informação: é aquele conjunto de dados que quando fornecido de
forma e a tempo adequado, melhora o conhecimento da pessoa que o recebe ficando a mesma mais habilitada a desenvolver determinada actividade ou a tomar determinada decisão.
Galliers , R. (EDS.), Information Analysis: selected readings, Addison-Wesley, 1987.
Dados: Conjunto de métodos, factos que quando articulados não
fornecem um sentido com significado perceptivel para o utilizador
Ex: Salarios: 1100, 1500, 2000,7000
Tecnologia de Base de Dados
1. Introdução
O que é um Sistema de
Informação?
Um sistema de informação (SI) pode ser definido como um conjunto de componentes inter – relacionados trabalhando juntos para colectar, recuperar, processar, armazenar e distribuir informação com a finalidade de facilitar o planeamento, o controle, a coordenação, a análise, o processo decisório em empresas e outras organizações e oferecem um mecanismo de realimentação para atingir um objectivo.
Tecnologia de Base de Dados
Evolução das Bases de dados
• Sistemas de ficheiros • Primeiras solicitações:
– Automatização de tarefas manuais utilização de sistemas de gestão de ficheiros (Ex. Cobol);
– Aumento explosivo de pedidos de novas aplicações;
– Desenvolvimento desenfreado de aplicações, sem planeamento;
– Problema de Backlog das aplicações - os utilizadores solicitam novas aplicações a que o departamento de desenvolvimento, dada a sua carga de trabalho, não conseguia dar resposta.
– 75% do tempo é gasto na manutenção de sistemas!!! – Efeito de “bola de neve”.
Proliferação das aplicações - caos
- Circunstância da própria evolução tecnológica; - Falta de planeamento das “soluções informáticas”;
Tecnologia de Base de Dados
Sistemas de ficheiros: Uma organização como a Universidade. Na Universidade, vários sectores são responsáveis pela
administração de um grande volume de dados, sendo muitos destes dados comuns a vários sectores.
Exemplo de 3 sectores:
Direcção académica, responsável pelas actividades do ensino. Direcção Administrativa – responsável pela coordenação da estrutura geral da Universidade;
Direcção de Pessoal – responsável pela administração das pessoas que trabalham na Universidade.
Tecnologia de Base de Dados
Proliferação das aplicações - CAOS
Direcção Académica Direcção Administrativa Direcção Pessoal Alunos Professores Disciplinas Turmas Salas Centros Departamentos Cursos Disciplinas Centros Departamentos Professores Funcionários
Imagina-se que cada Direcção apresenta um sistema informático que automatiza a sua administração o que implica que:
Tecnologia de Base de Dados
Exemplo
Cada direcção da Universidade descreve os seus arquivos de dados, isto é, cada direcção ou departamento define registos com campos e formatos que julga adequados.
Exemplo:
Professores na Dir Académica
Professores(nome, data de nascimento, titulo, area de interesse, ...) Professores na Dir Pessoal
Professores(nome, data de nascimento, vencimento, , data de admissão, ...) Formato – o campo nome apesar de ser igual em todos departamentos pode apresentar formato (tipo de dados) diferentes.
Conceito de formato de dados – define o tipo de dados. Os dados podem ser por exemplo do tipo carácter e numérico. Os dados de tipo numérico podem ainda ser inteiros ou decimais.
Tecnologia de Base de Dados
Problemas de acesso aos dados
• O acesso aos dados é controlado pelas aplicações de cada direcção: todo o esforço de gestão de dados (definição de arquivos, manipulação de dados, etc.) é implementada em cada aplicação.
• Não existe possibilidade de partilha de dados entre as aplicações: a gestão de dados é local, ou seja, é realizado individualmente por cada aplicação. Os dados são dependentes dos programas da aplicação, sendo manipulados apenas por estes programas.
Tecnologia de Base de Dados
Aplicação Aplicação Aplicação Aplicação Dados Dados Dados DadosTecnologia de Base de Dados
• Interface físico entre dados e aplicações… • Desenvolvimento de baixo nível... • Problemas ao nível da manutenção das aplicações!... • Problema no acesso
concorrente aos dados!...
Aplicação Aplicação Aplicação Dados Dados Dados Aplicação
Tecnologia de Base de Dados
Problemas dos sistemas de ficheiros
1. Redundância – existe a replicação de dados – exemplo dados do cliente por todos os departamento.
2. Dificuldades de manutenção – a actualização de um dado replicado exige que todos os departamentos que
apresentem este dado seja informado da actualização no seu arquivo.
3. Falta de padronização ou uniformização – é difícil
importar dados de um arquivo para o outro devido a tipos diferentes de dados (formatos).
Tecnologia de Base de Dados
Aplicação Aplicação Aplicação Aplicação Dados Dados Dados DadosTecnologia de Base de Dados
Sistema de Base de dados
• Conceito radicalmente diferente (novo paradigma) • O sistema de gestão de bases de dados- SGBD
Aplicação Aplicação Aplicação Aplicação S G B D
SGBD - Sistema de Gestão de Base de Dados
Tecnologia de Base de Dados
Uma Base de Dados é um conjunto organizado de dados, disponível a todos os utilizadores ou processamentos da organização que deles tenham necessidade.
Base de Dados
Base de Dados: é uma colecção de dados interrelacionados,
representando informações sobre um domínio específico .
Uma base de dados é uma colecção partilhada de dados (ficheiros)
logicamente relacionados concebida de forma a satisfazer as necessidades de informação duma organização.
Tecnologia de Base de Dados
Característica de uma base de dados Característica de uma base de dados
• Os dados encontram-se agrupados todos num único conjunto • Todos os acessos aos dados passam sempre por uma entidade designada por Sistema de Gestão da Base de dados – o SGBD é o software ou programa que manipula todos os acessos á base de dados.
• As aplicações deixam de ter uma interface física e passam a ter uma interface lógica.
Tecnologia de Base de Dados
A tecnologia de bases de dados tenta responder dois objectivos:
• Dar corpo a uma forma mais natural de pensar os sistemas de informação, surgindo como elemento integrador dos recursos informacionais da organização;
• Disponibilizar meios de desenvolvimento de mais alto nível, capazes de acelerar o processo de desenvolvimento de novos sistemas e facilitar a manutenção dos sistemas construídos segundo esta tecnologia.
Tecnologia de Base de Dados
Interface lógico entre dados e informação
• O interface lógico entre o nível aplicacional e a base de dados é conseguido á custa do armazenamento na base de dados, não só dos dados propriamente ditos, mas também das suas
descrições – metadados.
• Os metadados são armazenados numa entidade conhecida por dicionário de dados (também chamado catálogo).
• Um dicionário de dados é um repositório de dados sobre
dados. O Dicionário de dados ou Data Dictionary proporciona um local centralizado para documentar todas a informações referente á fase de análise.
• O conteúdo de um DD é dados sobre dados ou metadados – descrição de dados.
Tecnologia de Base de Dados
Visões de uma Base Dados
Visão Interna - É aquela vista pelo responsável pela manutenção e desenvolvimento do SGBD, isto é, recuperação e manipulação dos dados dentro do Base de Dados
Visão Conceitual - descrição dos dados armazenados na base de dado e seus relacionamentos (entidades, atributos, relações,
informação de integridade e segurança).
Visão Externa - É aquela vista pelo usuário que opera os sistemas aplicativos, através de interfaces desenvolvidas pelo analista
Tecnologia de Base de Dados
Tecnologia de Base de Dados
Tecnologia de Base de Dados
IMPLEMENTAÇÃO DE BASE DE DADOS Base de Dados Centralizada
…
Base de Dados Distribuída
Por definição, uma base de dados distribuída é um sistema de base de dados cujos dados se encontram fisicamente dispersos por vários servidores, ligados por meios de comunicação, mas integrados
logicamente.
DATE 1995 [1], de uma forma mais abrangente, define uma base de dados distribuída como sendo um conjunto de centros de
computação, ligados por redes de computadores em que, por um lado, cada centro constitui um sistema de base de dados por si; por outro lado, os vários centros.
Tecnologia de Base de Dados
Base de Dados Distribuída (N camadas). Nesta arquitetura, a
Tecnologia de Base de Dados
Sistema de Gestão de Base de Dados
SGBD
Sistema de Gestão de Bases de Dados
(SGBD): é um software com recursos específicos para facilitar a
manipulação das informações das Bases de dados e o desenvolvimento de aplicativos.
Exemplos: Oracle, Ingres, Paradox, Access, DBase, MS SQL Server, MySQL Server, PostGreSQL.
Tecnologia de Base de Dados
Os Componentes de um
Tecnologia de Base de Dados
Arquiteturas de SGBDs
Sistemas de Computador Pessoal - PC. Os computadores pessoais
trabalham em sistema stand-alone, ou seja, fazem seus processamentos
sozinhos. No começo esse processamento era bastante limitado, porém,
com a evolução do hardware, tem-se hoje PCs com grande capacidade de processamento.
Tecnologia de Base de Dados
Arquiteturas de SGBDs
Base de Dados Cliente-Servidor. Na arquitetura Cliente-Servidor, o
cliente (front_end) executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e processamento de entrada e saída). O
servidor (back_end) executa as consultas no DBMS e retorna os resultados ao cliente.
Tecnologia de Base de Dados
Vantagens de um SGBD
•Controle de Redundância; •Compartilhamento de Dados;
•Restrição a Acesso não Autorizado;
•Representação de Relacionamentos Complexos entre Dados; •Tolerância a Falhas;
Tecnologia de Base de Dados
Modelos de Base de Dados
Existem duas categorias de modelos de base de dados:
Baseados em objectos: Baseados em registos: • Entidade-Relacionamento; • Orientados a Objectos; • Hierárquico; • Rede; • Relacional.
Tecnologia de Base de Dados
História e Evolução das BD
Os primeiros sistemas de informação eram baseados em conjuntos de ficheiros que guardavam conjuntos de registos.
Limitações
1. Os dados ficavam separados e isolados - obter dados em vários ficheiros;
2. Duplicação de dados - a mesma informação existente em vários ficheiros;
3. Os programas que acediam aos dados eram dependentes do formato dos ficheiros;
4. Ficheiros muitas vezes incompatíveis uns com os outros; 5. Difícil representar os dados na perspectiva do utilizador.
Tecnologia de Base de Dados
O Modelo Relacional
Em 1970 E.F. Codd, na altura investigador da IBM Corp., publicou um artigo com os fundamentos teóricos do modelo relacional.
A estrutura fundamental do modelo relacional é a relação, também designada tabela. Uma relação é uma estrutura bidimensional com um determinado esquema e zero ou mais instâncias. O esquema de uma relação é constituído por um ou mais atributos que traduzem o tipo de dados a armazenar. A cada instância do esquema de uma relação designa-se tuplo.
Para cada atributo de uma relação define-se o seu domínio. O
domínio de um atributo traduz a gama de valores possíveis que esse atributo pode tomar.
Tecnologia de Base de Dados
Um outro conceito fundamental no contexto do modelo relacional é o conceito de chave. Existem vários tipos:
Superchave – Associação de um ou mais atributos cujos valores,
em conjunto, identificam univocamente cada tuplo;
Chave candidata – Subconjunto dos atributos de uma superchave; Chave primária (chave principal) – que é seleccionada de entre as
várias chaves candidatas;
Chave estrangeira(chave importada) – trata-se de um conjunto
constituído por um ou mais atributos que é chave primária numa outra relação.
Tecnologia de Base de Dados
Relação(Tabela); Atributo;
Domínio; Tuplo;
Grau de uma relação;