Curso: Banco de Dados I – Análise de Sistemas PUC Campinas Professor: Gustavo Andretta e-mail: [email protected] Ementa Estudo de sistemas de informação em ambiente de banco de dados quanto aos aspectos de gerenciamento de banco de dados e suas técnicas de representação interna 2 Objetivo do Curso Apresentar os conceitos fundamentais de gerenciamento de banco de dados, incluindo Projeto de Banco de Dados, linguagem de Banco de Dados e implementação de sistemas de Banco de Dados. 3 Programa 1. Introdução: 1.1 Objetivos de um Sistema de BD 1.2 Linguagens de BD 1.2.1 Linguagem de Definição de Dados 1.2.2 Linguagem de Manipulação dos Dados 1.3 Conceitos Gerais: SGBD 1.3.1 Visão da Estrutura do Sistema 1.3.2 Gerenciamento de transações 1.3.3 Administração de Memória 1.3.4 DBA 1.3.5 Usuários 1.4 Visão dos Dados 1.4.1 Abstração de Dados 4 Programa 1.4.2 Instâncias e Esquemas 1.4.3 Independência de Dados 1.5 Modelo de Dados 1.5.1 Modelos Lógicos c/ Base em Objetos 1.5.2 Modelos Lógicos c/ Base em Registros 2. Modelagem 2.1 Modelo Entidade-Relacionamento 2.1.1 Entidades, atributos, valores de atributos 2.1.2 Atributos Compostos, Multivalorados, Determinantes 2.1.3 Entidades Fracas 5 Programa 2.1.4 Relacionamentos, Classes de Relacionamentos 2.1.5 Relacionamentos Parciais e Totais 2.1.6 Atributos de Relacionamentos 2.1.7 Auto-Relacionamento 2.1.8 Agregações 2.1.9 Particionamento ou Generalização 2.1.10 Especialização 2.1.11 Atributos Globais 3. Regras de Integridade 4. SQL 5. Modelo Relacional 5.1 Estrutura dos Bancos de Dados Relacionais 6 Programa 5.2 Álgebra Relacional 5.3 Cálculo Relacional 6. Normalização 6.1 1a Forma Normal 6.2 2a Forma Normal 6.3 3a Forma Normal 7. Modelo Multidimensional 8. Arquiteturas de Sistemas de Banco de Dados 7 Bibliografia • Henry F. Korth, Abraham Silberschatz. Sistema de Banco de Dados. Makron, 3a Edição 8 A Sociedade da Informação Avanço Tecnologia Valor da Informação 9 A Sociedade da Informação Evolução do Emprego da Mão-de-Obra 1860 - 1910 Mão-de-Obra Agrícola 1910 - 1960 Mão-de-Obra Industrial 1960 - 2010 Mão-de-Obra Informação 10 Origem: Informática INFORmação autoMÁTICA Informática 11 Evolução da Informática Sistemas de Informação Informática Telecomunicações Digitalização Teleinformática 12 Evolução/Revolução no Tratamento e Transporte da Informação Revolução/Evolução no TRATAMENTO da informação Informática Sociedade Industrial Teleinformática Telecomunicações Sociedade da Informação Revolução/Evolução na Sociedade Revolução/Evolução no TRANSPORTE da informação 13 Formas de Representação da Informação VOZ DADOS TEXTO IMAGEM 14 1. Introdução O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados (BD) associados a um conjunto de programas para acesso a esses dados. 15 1. Introdução DBA AS Análise Requisitos... Modelagem Projeto BD Engenharia Software Usuário Final Interface Processamento Consultas SGBD Processamento Transações I/O / Buffers / Indexação 16 1.1 Objetivos de um Sistema de Banco de Dados SGBD X Sist. Processamento Arquivos • Garantir consistência dos dados • Facilitar acesso aos dados • Garantir recuperação apropriada dos dados • Garantir integridade • Garantir operações atômicas • Controlar concorrência • Garantir segurança dos dados 17 1.2 Linguagens de Banco de Dados Linguagem de Definição de Dados (DDL) Linguagem p/ especificação das estruturas de dados Linguagem de Manipulação de Dados (DML) Linguagem p/ tratamento (atualização, eliminação, leitura, inserção) 18 1.3 Conceitos Gerais: SGBD 1.3.1 Visão da Estrutura do Sistema Usuários Navegador Programador DBA Interfaces Programas Pré-Comp. DML PGMs Código Objeto Gerenciador Transações Armazanamento em Disco Usuário Sofisticado Consultas Compil. DML Comp. Exe Consulta Esquema BD Interpret. DDL Processador Consultas Gerenciador Buffer Gerenciador Arquivos Índices Arquivos de Dados S G B D Gerenciador Memória Dados Estatísticos Dicionário de Dados 19 1.3 Conceitos Gerais: SGBD 1.3.2 Gerenciamento de Transações Coleção de operações que desempenha uma função lógica única dentro de uma aplicação do sistema de banco de dados Transação Atomicidade Indivisibilidade (tudo-ou-nada) Durabilidade Persistência Componentes do Gerenciamento Transações Consistência Solidez SGBD detectar falhas e recuperar o BD em seu último estado consistente Gerenciador de Controle de Concorrência Controlar interação entre trxs concorrentes 20 1.3 Conceitos Gerais: SGBD 1.3.3 Administração de Memória Dados Disco Memória Gerenciador de Memória Armazenamento, recuperação e atualização de dados Eficiência das estruturas usadas p/ representação dos dados Bom desempenho 21 1.3 Conceitos Gerais: SGBD 1.3.4 DBA Centraliza os dados e os programas de acesso a esses dados Definição do esquema Definição da estrutura de dados e método de acesso Esquema e modificações na organização física Fornecer autorização de acesso ao sistema Especificar regras de integridade 22 1.3 Conceitos Gerais: SGBD 1.3.5 Usuários Programadores de aplicação Usuários sofisticados Usuários especialistas Usuários navegantes 23 1.4 Visão dos Dados 1.4.1 Abstração de Dados Seres, objetos organismos, fatos, ... Mundo Real Informações Modelo Descritivo informais Descrição de um universo em linguagem natural Informações Estruturas de informações, Modelo Conceitual especificações de formais Projeto Lógico manipulação Modelo Operacional Especificações e pgms de manipulação p/ o Projeto Físico computador Estruturas internas de Modelo Interno arquivos e tabelas Nível de máquina pgms interpretáveis ou executáveis 24 1.4.1 Abstração de Dados Visão 1 Nível de Visão Visão 2 .......... Visão n Nível Lógico Nível médio que descreve quais dados estão armazenados e quais os inter-relacionamentos Nível Físico Nível baixo que descreve como os dados estão armazenados 25 1.4.2 Instâncias e Esquemas Instância do banco de dados Conjunto de informações contidas em determinado banco de dados, em dado momento Esquema do banco de dados Projeto Geral do banco de dados 26 1.4.3 Independência de Dados Capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema do nível superior. Física Conjunto de informações contidas em determinado banco de dados, em dado momento Lógica Projeto Geral do banco de dados 27 1.5 Modelos de Dados Conjunto de ferramentas conceituais, sob a estrutura do Banco de Dados, usadas p/ a descrição de dados, relacionamentos entre dados, semântica de dados e regras de consistência. 28 1.5.1 Modelos Lógicos c/ Base em Objetos Utilizados na descrição de dados no nível lógico e de visões •Modelo entidade-relacionamento • Modelo orientado a objeto 29 1.5.1.1 Modelo Entidade Relacionamento MER Serve para a representação das estruturas de informação. Tem por base a percepção do mundo real como um conjunto de objetos básicos (entidades) e do relacionamento entre eles. 30 1.5.1.2 Modelo Orientado a Objetos Tem por base um conjunto de objetos Variáveis instâncias: armazenam valores de um objeto dentro do objeto. Métodos: conjunto de códigos que operam o objeto. Classes: objetos que contêm os mesmos tipos de valores e os mesmos métodos. 31 1.5.1.2 Modelo Orientado a Objetos Enviar Mensagem Acesso a dados Objeto 1 Objeto 5 Método x 32 1.5.2 Modelos Lógicos c/ Base em Registros Utilizados na descrição de dados no nível lógico e de visões. Banco de dados estruturado por meio de registros de formato fixo de todos os tipos. Fácil implementação do BD no nível físico. • Modelo Relacional • Modelo de Rede • Modelo Hierárquico 33 1.5.2.1 Modelo Relacional Utiliza um conjunto de tabelas p/ representar tanto os dados quanto a relação entre eles. Atualmente é o mais utilizado no mercado. 34 2. Modelagem 2.1 Modelo Entidade Relacionamento MER Serve para a representação das estruturas de informação. Tem por base a percepção do mundo real como um conjunto de objetos básicos (entidades) e do relacionamento entre eles. 35 2.1 Modelo Entidade Relacionamento É uma representação abstrata de um “objeto” Entidade do mundo real (um ser, um fato, uma coisa, um organismo social, etc...) Ex: funcionário, material, departamento Conjuntos de entidades: Funcionários Todos os funcs da empresa Datas Livros Departamentos Todas as Todos os Todos os deptos da empresa livros da datas biblioteca 36 2.1 Modelo Entidade Relacionamento Atributos É um conjunto de valores do conjunto de entidades Ex: funcionário Nome Endereço Sexo Salário Ex: departamento Código Nome Descrição 37 1.2 SQL STRUCTURED QUERY LANGUAGE SELECT UPDATE DELETE INSERT CREATE ALTER DROP GRANT REVOKE COMMIT ROLL BACK DML DDL CONTROL 38