Introdução Solange N. Alves de Souza 1 Por que um SBD? inconsistência e redundância de dados; Programa 1 Descrição de dados Programa 2 Descrição de dados Programa 3 Descrição de dados Arquivo 1 Arquivo 2 Arquivo 3 Dados Redundantes Solange N. Alves de Souza 2 1
Programa 1 Programa 2 Programa 3 Descrição de dados Arquivo Solange N. Alves de Souza 3 Por que um SGBD? continuação integridade (restrições impostas sobre os dados); linguagem de acesso; independência de dados; Programa 1 Programa 2 Programa 3 Manipulação de dados Descrição de dados... Banco de Dados Solange N. Alves de Souza 4 2
Por que um SGBD? continuação segurança e proteção; controle ao acesso concorrente; tolerância a falhas; tomada de decisão; Solange N. Alves de Souza 5 Select, insert, delete ou update consulta Usuários Comando DDL Funções e Componentes de um SGBD Compilador de Consultas Plano de consulta Mecanismo de execução Gerenciador de Índices/Arquivos/ registros/estatísticas Compilador de DDL Processador de Consultas Gerenciador de Armazenamento Gerenciador de Buffer Gerenciador de Transações SGBD Gerenciador de Gerenciador Recuperação de Controle de de Falhas Concorrência Processamento de transação Buffer Tabela de bloqueio Arquivos de dados Arquivos de Índices Solange N. Alves de Souza Dicionário de dados6 3
Dicionário/Diretório de Dados (meta banco de dados) esquemas externos regras (procedimentais e declarativas) autorização de operações sobre arquivos duplicação de arquivos meios de armazenamento (fita, disco) nomes de arquivos Local de armazenamento dos arquivos Nome dos atributos Chaves primárias Chaves estrangeiras Solange N. Alves de Souza 7 Dicionário/Diretório de Dados - continuação tamanhos de registros número de registros Espaço ocupado pelos registros fator de blocos (n o de registros num bloco) posição dos itens nos registros tipos dos atributos (caracter, inteiro, etc.) representação (ASCII, EBCDIC) método de acesso (chaves, acesso seqüencial ou direto, índices, diretórios para endereçamento) etc. Solange N. Alves de Souza 8 4
SBD, BD, SGBD??? Sistema de Banco de Dados Banco de Dados (BD) Sistema de Gerência de Bancos de Dados (SGBD) Dados Regras de Uso Matéria Prima Processador Solange N. Alves de Souza 9 Por que representações abstratas dos dados? Nível Físico Nível Lógico Solange N. Alves de Souza 10 5
Exemplo nível conceitual e lógico representação relacional não é o único formalismo relation FUNCIONARIO [ key = {FNO} attributes = { FNO : character(9) FNOME : character(15) CARGO : character(10) }] relation PROJETO [ key = {PNO} attributes = { PNO : character(7) PNOME : character(20) ORCAMEN : numeric(7) }] relation PAGAMENTO [ key = {CARGO} attributes = { CARGO : character(10) SALARIO : numeric(6) }] relation DESIGNAÇÃO [ key = {FNO, PNO} attributes = { FNO : character(9) PNO : character(7) RESPONSAVEL: character(10) DURAÇÃO : numeric(3) }] 10 Solange N. Alves de Souza 11 Exemplo Nível Físico internal_rel FUNCL [ index on FNO call FMINX field = { CABEÇALHO : byte(1) FNO : byte(9) FNOME : byte(15) CARGO : byte(10) }] descreve-se detalhes de armazenamento 10 Solange N. Alves de Souza 12 6
Modelos de Dados Níveis de Abstração FUNC DESIG PROJ A B S T R A Ç Ã O Nível Conceitual Nível Lógico Nível Físico PAG Esquema do BD FUNC (FNO, FNOME, CARGO) PROJ (PNO, PNOME, ORÇAMENTO)... Esquema do BD defini-se tabelas foco na composição, não tipo de dado, nem localização física,... tipo de dado de campos de tabela, localização física dos arquivos, tamanho dos arquivos,... Solange N. Alves de Souza 13 Modelo de Dados e SGBDscategorias Modelo Entidade- Relacionamento Modelos Orientado a Objetos Modelo Hierárquico Modelo de de Rede Modelo Relacional SGBD Objeto- Relacional novas necessidades Solange N. Alves de Souza 14 7
Modelo de Redes o banco de dados é uma coleção de registros conectados por meios de links. type veículo = record placa: string; ano_fabricação: data; kilometragem: integer; type TipoVeículo = record motorização: string; número_passageiros: integer; número_portas: integer; Solange N. Alves de Souza 15 type veículo = record placa ano_fabricação kilometragem type TipoVeículo = record motorização número_passageiros número_portas 1.4 5 2 Modelo de Redes - continuação DCC2323 2005 8000 LMC4490 2004 20000 TipoVeículo 1.8 5 4 SOL2390 2005 10000 RRR8943 2001 60000 Veículo 4.1 5 4 DCC0933 2005 8000 LMC4401 2004 20000 Relacional Solange N. Alves de Souza 16 8
Modelo Hierárquico o banco de dados é uma coleção de registros conectados por meio de links, sendo os registros organizados como uma coleção de árvores. Solange N. Alves de Souza 17 type cliente = record nome: string; endereço: string; cidade: string; type conta = record número: integer; saldo: integer; dummy João end1 SP Joana end1 SP Ana end2 SP 1001 10000 1002 4000 1003 110000 Solange N. Alves de Souza 18 9
Modelo Relacional o banco de dados é uma coleção de tabelas. registros não são associados por meio links ou ponteiros, mas sim pelos seus próprios valores. linguagem de acesso de fácil utilização. Solange N. Alves de Souza 19 TipoVeículo IdTipo Motorização número_passageiros número_portas 1 1.4 5 2 2 1.8 5 4 3 4.1 5 4 Modelo Redes Veículo placa ano_fabricação kilometragem DCC2323 2005 8000 LMC4490 2004 20.000 SOL2390 2005 10.000 IdTipo RRR8943 2001 60.000 2 DCC0933 2005 8.000 LMC4401 2004 20.000 Solange N. Alves de Souza 20 1 1 2 2 3 10
Modelo Entidade- Relacionamento os dados são representados como conjuntos de entidades e conjuntos de relacionamentos entre as entidades. Veículo placa kilometragem ano_fabricação identificação motorização Tipo_Veículo número_ passageiros número_portas Solange N. Alves de Souza 21 Orientação a Objetos antes: aplicações bancárias, inventários. 1980s: aplicações (CAD/CAM) banco de dados médicos e científicos sistemas de informações geográficas (SIGs) banco de dados multimídia estruturas de dados complexas; dados multimídia; longas transações; operações e tratamentos específicos; Solange N. Alves de Souza 22 11
Modelos Orientados a Objetos os dados são representados como objetos que tem uma estrutura e um comportamento. Solange N. Alves de Souza 23 12