390 likes | 497 Views
Banco de Dados. Arquivos Convencionais. Sistemas de Arquivos Convencionais. Sistema de Vendas. Sistema de Compras. Sistema de Produção. Aplicação. Arquivos Convencionais. Produto. Produto. Produto. Dados não estão integrados. Arquivos Convencionais.
E N D
Arquivos Convencionais • Sistemas de Arquivos Convencionais Sistema de Vendas Sistema de Compras Sistema de Produção Aplicação Arquivos Convencionais Produto Produto Produto Dados não estão integrados
Arquivos Convencionais • Problemas da falta de integração de dados • Mesmo objeto representado múltiplas vezes • Redundância não controlada de dados Inconsistência de dados: dados não representam corretamente a realidade Redigitação de informações: trabalho repetitivo que pode levar a erros
Produto Arquivos Convencionais – Banco de Dados • Solução para evitar redundância: Compartilhamento de dados • Cada informação armazenada uma única vez Sistema de Vendas Sistema de Compras Sistema de Produção
Conceitos • Banco de Dados “Conjunto de dados integrados que visa a atender um conjunto de aplicações” [Heuser, 2001] “ É uma coleção de dados integrados” [Navathe, 2002] “Sistema de manutenção de registros por computador” [Date, 1990]
Conceitos • Coleção de dados que mantém relações entre si e estão armazenadas em algum dispositivo. • Exemplos: • Títulos de uma Biblioteca, • Filmes de uma Videolocadora, • Empregados de uma Empresa (mais informações de cargos, salários, etc.), • Textos sobre um determinado assunto (BD Textuais), • Imagens, Sons e Vídeos (BD Multimídia), • etc.
Conceitos • Um banco de dados apresenta algumas propriedades específicas: • É uma coleção de dados logicamente relacionados, com algum significado. • Associações aleatórias de dados não podem ser chamadas de banco de dados. • É projetado, construído e preenchido com dados para um propósito específico. • Possui um grupo de usuários e algumas aplicações concebidas para atender a esses usuários . • É a representação de algum aspecto do mundo real. • Qualquer mudança na realidade, provocará mudanças nessa base de dados.
Histórico • Até 1960: Sistemas de Arquivos Integrados – ISAM, VSAM (IBM). • Problemas: • Os arquivos, como entidades “passivas”, não dispunham eles mesmos de propriedades ativas; • Os controles de segurança, concorrência, integridade e recuperação de falhas ficavam a cargo dos programas aplicativos.
Histórico • Necessidades: • Controle de integridade: • O que está escrito precisa ser verdadeiro e válido no modelo. • Controle de concorrência: • É necessário permitir que vários usuários tenham acesso às informações. • Recuperação de falhas: • Se houver um problema, é necessário dispor novamente os dados com a garantia de que eles estão de acordo com as regras de integridade.
Histórico • Final dos aos 60: Modelo hierárquico – IMS (IBM). • Uma estrutura de registros pai-filho dispostos em seqüência, implementando relação um para muitos de cima para baixo. • Implementava regras de integridade, embora com limitações, e aspectos de segurança, recuperação de falhas e controle de concorrência.
DEPARTAMENTO DNOME DNÚMERO DGER EMPREGADO PROJETO NOME NASC CPF SAL PNOME PNUMER PLOCAL TIPOS DE REGISTROS (DEP.,EMP., PROJ.) RELACIONAMENTO PAI-FILHO RELACIONAMENTO PAI-FILHO: DEPARTAMENTO-PROJETO
Histórico • Final dos anos 70: Modelo Relacional (Codd) – SQL-DS, DB2, (IBM), Oracle, Ingres. • O modelo relacional representa os dados num BD como uma coleção de tabelas (relações). • Cada tabela terá um nome, que será único, e um conjunto de atributos com seus respectivos nomes e domínios. • Todos os valores de uma coluna são do mesmo tipo de dados. • Relação entre dados, não através de estruturas internas do banco. • Modela todos os tipos de relacionamentos. • Utiliza linguagens DDL e DML como Quel e SQL mais simples. • São dominantes hoje.
Histórico • 1970 e início dos anos 80: Modelo de redes (Codasyl) – IDMS, DBMS-II (Unisys). • Final dos anos 80: Modelo reacional-estendido. Orientado a Objeto. BDOO, O2, Oracle (a partir da versão 8) ...
Vantagens Vantagens na utilização de Banco de Dados • Reduzir a redundância • Compartilhar os dados • Reforçar os padrões • Aplicar restrições de segurança • Manter a integridade
Vantagens Desenvolvimento de aplicações de BD • Nem todo o usuário pode acessar qualquer informação – Controle de Acesso • Dados são de importância vital e não podem ser perdidos – Tolerância a Falhas
Vantagens Desenvolvimento de aplicações de BD • Arquivos devem ser projetados para atender diferentes aplicações • Dados devem estar corretos - Manutenção de Restrições de integridade • BD acessado concorrentemente por múltiplos usuários – Controle de Concorrência
Banco de Dados • Definir uma base de dados envolve a especificação de tipos de dados a serem armazenados na base de dados. • Construir uma base de dados é o processo de armazenar os dados em algum meio que possa ser controlado. • Manipular uma base de dados indica a utilização de funções como a de consulta, para recuperar dados específicos, modificação da base de dados para refletir mudanças no mini-mundo (inserções, atualizações e remoções), e geração de relatórios.
Sistema Gerenciador de Bancos de Dados (SGBD) • Camada de programas entre o Dado e os aplicativos. • Coleção de programas que permitem aos usuários definirem, construírem e manipularem uma base de dados para o uso das diversas aplicações
Sistema de Gerenciamento de Banco de Dados (SGBD) Banco de Dados Sistema Gerenciador de Bancos de Dados (SGBD) Representação simplificada de um SBD: PA1 PA2 PA3 Programas de Aplicação Usuário Final
Surgimento de SGBD’s • Programas gravam seus dados em disco, segundo estruturas próprias. • Para acessá-los é necessário conhecer sua estrutura. • Se vários programas compartilham seus dados, todos devem conhecer e manipular as mesmas estruturas. • Se algum programa precisar de alguma mudança na estrutura de dados, todos os programas terão que ser alterados, mesmo que a alteração ocorra em dados que ele não utiliza.
SGBD’s • Solução: colocar um sistema entre os dados e os programas, que converta o formato em que os dados estão gravados para o formato específico que cada programa precisa dos dados. • Cada programa: • “Vê” apenas os dados que lhe interessam; • Não precisam entrar em detalhes de como seus dados estão fisicamente gravados; • Não precisa ser modificado se a estrutura de dados que ele não utiliza for mudada.
Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Dados (arquivos) Dados (arquivos) Aplicativos SGBD Aplicativos O acesso/gerenciamento aos/dos dados é feito pelo SGBD. O SGBD funciona como uma interface entre o BD e os programas aplicativos. O acesso/gerenciamento aos/dos dados é feito diretamente pelos programas aplicativos.
Análise de Requisitos Projeto Conceitual Projeto Lógico Projeto Físico BD Modelagem • PROJETO CONCEITUAL Descrição de mais alto nível da estrutura do BD Não contém detalhes de implementação Independente do tipo de SGBD usado Construção de modelos semânticos Ponto de partida do projeto de BD A modelagem conceitual baseia-se no mais alto nível e deve ser usada para envolver o cliente. Os exemplos de modelagem de dados visto pelo modelo conceitual são mais fáceis de compreender, já que não há limitações ou aplicação de tecnologia específica. Exemplo: DER
Análise de Requisitos Projeto Conceitual Projeto Lógico Projeto Físico BD Modelagem • PROJETO LÓGICO Descrição da estrutura do BD que pode ser processada pelo SGBD Modelo conceitual mapeado para um modelo lógico de dados Dependente da classe de modelos de dados utilizada pelo SGBD, mas NÃO do SGBD específico escolhido para a implementação O modelo lógico já leva em conta algumas limitações e implementa recursos como adequação de padrão e nomenclatura. Deve ser criado levando em conta os exemplos de modelagem de dados criados no modelo conceitual.
TipoDeProduto(CodTipoProd,DescrTipoProd) Produto(CodProd,DescrProd,PrecoProd,CodTipoProd) CodTipoProd referencia TipoDeProduto Modelo Lógico
Análise de Requisitos Projeto Conceitual Projeto Lógico Projeto Físico BD Modelagem • PROJETO FÍSICO Mapeamento do modelo lógico em um esquema físico de acordo com o SGBD específico Descrição da implementação da base de dados Descreve as estruturas de armazenamento e os métodos de acesso No modelo físico fazemos a modelagem física do modelo de banco de dados. Leva-se em conta as limitações impostas pelo SGBD escolhido e deve ser criado sempre com base nos exemplos de modelagem de dados produzidos no projeto lógico.
Banco da Dados Relacional • Um Banco de Dados Relacional é um banco de dados que segue o Modelo Relacional. • Um Banco de Dados Relacional define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um banco de dados. • Banco de dados relacional é composto de tabelas ou relações.
Tabelas • Uma tabela é um conjunto não ordenado de linhas. • Cada linha é composta por uma série de campos. • Cada campo é identificado por nome de campo. • O conjunto de campos das linhas de uma tabela que possuem o mesmo nome formam uma coluna.
Chaves • O conceito básico para estabelecer relações entre linhas de tabelas de um banco de dados relacional é o da chave. • Em um banco de dados relacional, há ao menos três tipos de chaves a considerar: • a chave primária, • a chave secundária • a chave estrangeira.
Chave Primária • Uma chave primária é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. • Exemplo: • Na tabela anterior Emp, a chave primária é a coluna CódigoEmp.
Chave Primária Composta • No exemplo a seguir, a tabela Dependente possui uma chave primária composta: colunas CódigoEmp e NoDepen. • Neste caso, apenas um dos valores dos campos que compõem a chave não é suficiente para distinguir uma linha das demais, já que tanto um código de empregado (CódigoEmp) pode aparecer em diferentes linhas, quanto um número de dependente (NoDepen) pode aparecer em diferentes linhas. • É necessário considerar ambos valores (CódigoEmp e NoDepen) para identificar uma linha na tabela, ou seja para identificar um dependente.
Chave Estrangeira • Uma chave estrangeira é uma coluna ou uma combinação de colunas, cujos valores devem aparecer necessariamente na chave primária de uma tabela. • A chave estrangeira é o mecanismo que permite a implementação de relacionamentos em um banco de dados relacional.
Chave Estrangeira • Exemplo: a coluna CodigoDepto da nossa tabela Emp é uma chave estrangeira em relação a chave primária da tabela Dept. Isso significa que, na tabela Emp, não podem aparecer linhas que contenham um valor do campo CodigoDepto que não exista na coluna de mesmo nome da tabela Emp. • A interpretação desta restrição é que todo empregado deve estar associado a um departamento.
Chave Estrangeira • Uma chave primária pode referenciar a chave primária da própria tabela. • Neste exemplo, a coluna CodigoEmpGerente é o código de um outro empregado, o gerente do empregado correspondente a linha em questão. Como todo gerente é ele mesmo também um empregado, existe a restrição de que todo valor da coluna CodigoEmpGerente deve aparecer na coluna CodigoEmp. Assim, a coluna CodigoEmpGerente é chave estrangeira em relação a chave primária da própria tabela Emp.
Chave Secundária • Também chamada de chave alternativa. • Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. • Uma das colunas (ou combinação de colunas) é escolhida como chave primária. As demais colunas ou combinações são denominadas chaves estrangeiras.
DBA • Administrador de banco de dados. • É o responsável pelo controle do SGBD.
DBA • Dentre as funções do administrador de banco de dados (DBA), destacamos: • Criação do esquema original do banco de dados; • Definição da estrutura de dados e métodos de acesso; • Esquema e modificação na organização física; • Especificação de regras de integridade; • Segurança; • Autorização de acesso.