Prévia do material em texto
Banco de dados II Prof. Odair Moreira de Souza Unidade 01 Encontro 01 Apresentação do Professor 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 2 Cronograma de Aula •Apresentação da Disciplina; •Apresentação da Metodologia; •Revisão de banco de dados: • Conceitos de Banco de Dados; • Tipos de Banco de Dados; • Sistema de Banco de Dados; • Características de um SGBD; • Arquitetura de SGBD 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 3 •Modelo Entidade- Relacionamento; •Projeto Conceitual •Projeto Lógico; •Projeto Físico; Apresentação da Disciplina • Ementa: • Introdução ao Gerenciamento de transações. • Abordagem da otimização em consultas a base de dados. • Estudo da administração de Banco de Dados. • Criação de Projeto de Banco de Dados utilizando modelo Relacional. • Estudo da Linguagem SQL Avançada através de: • Views; Stored Procedures, Regras; Funções e Triggers. • Introdução a Banco de Dados Distribuídos e Banco de Dados para apoio a Decisão. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 4 Apresentação da Disciplina •Objetivos: Projetar um banco de dados relacional utilizando a linguagem SQL. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 5 Apresentação da Disciplina •Conteúdo da Disciplina: •Gerenciamento de Transações: • Recuperação; • Concorrência. •Otimização: • Introdução; • Processamento de Consultas; • Dividir e Conquistar; • Implementação de Operadores Relacionais. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 6 Apresentação da Disciplina •Conteúdo da Disciplina: •Administração de Banco de Dados; • Atividades do Administrador; • Padronizações; • Gerenciamento de Arquivo Físico. •Linguagem SQL Avançada: • Visões; Regras, Stored Procedures; Triggers; • Funções. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 7 Apresentação da Disciplina •Conteúdo da Disciplina: • Projeto de Banco de Dados utilizando modelo Relacional: • Metodologia; Ferramentas Gráficas; • Aplicação de Normalização e Restrições de Integridade; • Implementação de Banco de Dados. • Tópicos Avançados: • Banco de Dados Distribuídos; Sistemas Cliente/Servidor; • Independência do SGBD; Recursos SQL; • Banco de Dados para apoio a Decisão. Aspectos do Apoio a Decisão; • Preparação de Dados; Data warehouse e Data marts. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 8 Procedimentos Metodológicos •Aulas expositivas e dialogadas. •Exercícios práticos em classe. •Exercícios práticos extra classe. •Trabalhos e estudos em grupo. • Implementação em laboratório. •KLS 2.0. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 9 • Carga horária: 60 h • Atividades de aula 50h • Atividades de pré e pós aula: 10 h Procedimentos Metodológicos 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 10 Sistema de Avaliação •1° Nota - PESO 4,0 • Atividades Práticas Avaliativas • Trabalhos Práticos: 30% • 1ª Avaliação: 70% 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 11 •2° Nota - PESO 6,0 • Atividades Práticas Avaliativas • Trabalhos Práticos: 30% • 2ª Avaliação: 70% Sistema de Avaliação •Computação da Nota de Desempenho: Nota_01 = Avaliação_01 * 0,7 + Trabalhos_01 * 0,3 Nota_02 = Avaliação_02 * 0,7 + Trabalhos_02 * 0,3 • Computação da Nota Final: Média Semestral = Nota_01 * 0,4 + Nota_02 * 0,6 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 12 Sistema de Avaliação •Avaliação Substitutiva / Recuperação: •A avaliação substitutiva será aplicada aos alunos com média semestral menor que 6,0 pontos e frequência superior ou igual a 75%; •Avaliação substituirá a nota da avaliação_01 ou avaliação_02; •A avaliação substitutiva abrangerá todo o conteúdo da disciplina. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 13 Sistema de Avaliação 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 14 Bibliografia •Bibliografia Básica Padrão: 1. SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S.. Sistema de Banco de Dados. 6a ed. Rio de Janeiro: Campus - Elsevier, 2012. •Bibliografia Básica: 1. HEUSER, Carlos A.. Projeto de Banco de Dados. 4a ed. Porto Alegre: Sagra Luzzatto, 2001. 2. DATE, C. J.. Introdução a Sistemas de Bancos de Dados. 8a ed. Rio de Janeiro: Campus - Elsevier, 2004. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 15 Bibliografia •Bibliografia Complementar: 1. KORTH, Henry F.; SILBERSCHATZ, A.. Sistemas de Bancos de Dados. 1a ed. São Paulo: McGraw-Hill, 1999. 2. GRAVES, Mark. Projeto de Banco de Dados com XML. 1a ed. São Paulo: Pearson, 2003. 3. CHEN, PETER. Modelagem de dados : A abordagem entidade- relacionamento para projeto logico. 1a ed. São Paulo: Makron Books, 1990. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 16 Revisão BD I Conceitos de Banco de Dados •Banco de dados fazem parte do nosso Dia-a-dia: • Operações bancárias • Matrícula na universidade • Reserva de hotel • Controle da vídeo locadora • Controle de estoque de uma empresa • Comércio eletrônico •Área de BD: • Pesquisa e desenvolvimento de tecnologia para dar suporte ao gerenciamento de dados de sistemas de informação. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 18 Conceitos de Banco de Dados • Dados: • São fatos do mundo real que está geristrado e possui um significado implícito no contexto de um domínio de aplicação. • Endereço, data de nascimento, quantidade de filhos • Informação: • É basicamente o significado do dados, e pode ser extraído diretamente ou indiretamente a partir dos dados. • Quantos filhos, data de nascimento • Idade, endereço 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 19 Conceitos de Banco de Dados •Ferramentas para processamento de dados: •Processadores de texto (editoração eletrônica); •Planilhas; •Sistemas de Gerenciamento de Bancos de Dados - SGBDs: • armazenamento de grandes volumes de dados, estruturados em registros e tabelas, com recursos para acesso e processamento das informações • Exemplos: • Oracle, Sybase, ingress, paradox, MySql, SQL Server, PostGres 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 20 Conceitos de Banco de Dados •Sistema de banco de dados: •Dados, Hardware, Software e Pessoas •Banco de dados: • Coleção de dados interrelacionados, representando informação sobre um domínio. •Sistema de gerenciamento de banco de dados (SGBD): • Software com recursos específicos para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 21 Tipos de Banco de Dados •Modelo Hierárquico • Os dados são estruturados em hierarquias ou árvores; • O relacionamento entre um registro-pai e vários registros-filhos possui cardinalidade 1:N; • Os dados são acessados por meio de uma sequência hierárquica com uma navegação do topo para as folhas e da esquerda para a direita; • Desvantagens: • pode causar inconsistência de dados quando houver atualização e o desperdício de espaço é inevitável 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 22 Tipos de Banco de Dados •Modelo Hierárquico 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 23 Nome Rua Cidade Carlos Av 02 NatalNunConta Saldo José R15 Rio 654654 9962,00 316515 32112,00 Diagrama de estrutura de árvore Cliente - Conta Corrente Tipos de Banco de Dados • Modelo em Rede • extensão ao modelo hierárquico • um mesmo registro estivesse envolvido em várias associações • os registros são organizados em grafos onde aparece um únicotipo de associação (set) que define uma relação • Estes dois modelos: Hierárquico e Rede são Orientados a Registros, isto é, qualquer acesso à base de dados – inserção, consulta, alteração ou remoção – é feito em um registro de cada vez. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 24 Tipos de Banco de Dados •Modelo em Rede 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 25 Nome Rua Cidade NunConta Saldo Carlos Av 02 Natal José R15 Rio 654654 9962,00 316515 32112,00 João Av 654 BSS Maria R05 CWB 5445 654,00 954 159,00 Tipos de Banco de Dados •Modelo Relacional • aumentar a independência de dados nos sistemas gerenciadores de banco de dados •prover um conjunto de funções apoiadas em álgebra relacional para armazenamento e recuperação de dados • tem por base a teoria dos conjuntos e álgebra relacional •Relação entre tabelas, por meio de atributos •As tuplas são os registros, sem caminhos predefinidos 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 26 Tipos de Banco de Dados •Modelo Relacional 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 27 IdCliente Nome Rua Cidade 211 Jose R15 Rio 545 Carlos Av02 Natal NConta Saldo 654654 9962,00 316515 32112,00 IdCliente NConta 211 654654 545 316515 Tipos de Banco de Dados •Modelo Orientado a Objetos •A motivação para seu surgimento está em função dos limites de armazenamento e representação semântica impostas no modelo relacional. •Exemplos: • são os sistemas de informações geográficas (SIG), os sistemas CAD e CAM, que são mais facilmente construídos usando tipos complexos de dados. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 28 Tipos de Banco de Dados •Modelo Orientado a Objetos 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 29 Cliente ________________ ____ Nome: String Rua: String Cidade: String ________________ ____ Conta ________________ ____ NConta: int Saldo: Real ________________ ____ 1..* 1..* Diagrama UML Cliente - Conta Corrente Tipos de Banco de Dados •Sistemas Objeto-Relacionais •Tenta suprir a dificuldade dos sistemas relacionais convencionais, que é o de representar e manipular dados complexos, visando ser mais representativos em semântica e construções de modelagens. •SQL (Structured Query Language) •Representações para objetos complexos no contexto SQL; •Herança no contexto SQL e sistema para produção de regras. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 30 Sistema de Banco de Dados •Sistema de banco de dados 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 31 Banco de Dados SGBD Aplicações Aplicações Base A Base B Sistema de Banco de Dados •Objetivos de um Sistema de Bancos de Dados • Isolar os usuários dos detalhes mais internos do banco de dados (abstração de dados). •Prover independência de dados às aplicações (estrutura física de armazenamento e à estratégia de acesso); 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 32 Sistema de Banco de Dados •Vantagens: • rapidez na manipulação e no acesso à informação, • redução do esforço humano (desenvolvimento e utilização) •disponibilização da informação no tempo necessário • controle integrado de informações distribuídas fisicamente • redução de redundância e de inconsistência de informações • aplicação automática de restrições de segurança, • redução de problemas de integridade. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 33 Sistema de Banco de Dados •Abstração de Dados 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 34 Características de um SGBD •Sistemas de Arquivos - Problemas • Inconsistência e redundância de dados •Dificuldade de acesso aos dados • Isolamento de dados •Problemas de integridade •Problemas de atomicidade •Problemas de segurança •Anomalias no acesso concorrente 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 35 Características de um SGBD 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 36 Características de um SGBD •Características de um SGBD • Um Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de programas que habilitam usuários a criar e manter um banco de dados. • O SGBD é um software de propósito geral, que facilita o processo de definição, construção e manipulação de um bancos de dados. • O grande objetivo de um sistema de BD é oferecer uma visão “abstrata” dos dados, com disponibilidade eficiente, aos usuários. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 37 Arquitetura de SGBD 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 38 Arquitetura de SGBD •Linguagem de Definição de Dados: •Um esquema de dados é especificado por uma conjunto de efinições expressas por uma linguagem especial chamada inguagem de definição de dados (do inglês Data-Definition anguage – DDL). •O resultado da compilação dos parâmetros/comando DDL geral os dicionário de dados (arquivo de metadados). 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 39 Arquitetura de SGBD • Linguagem de Manipulação de Dados: • Do inglês Data-Manipulation Language – DML) é a inguagem que viabiliza o acesso e a manipulação do dados. Podem ser: • Procedurais: o usuário especifica procedimentos para recuperar os dados que necessita. Não- procedurais: o usuário escreve os dados que necessita. • Manipulação de dados = recuperação e informações do banco de dados e inserção, remoção e alteração de ados no banco de dados. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 40 Arquitetura de SGBD • Compilador DML: • Traduz comandos DML em instruções de baixo nível, entendidos pelo componente de execução de consultas. Além disso, otimiza a solicitação do usuário. • Pré-compilador para comandos DML inseridos em programas de aplicação: • Convertem comandos DML em chamadas de procedimentos normais da linguagem hospedeira. Interage om o compilador DML e modo a gerar o código apropriado. • Interpretador DDL: • Interpreta os omandos DDL e os registra no dicionário de dados. • Componentes para tratamento de consultas: • Executa instruções de baixo nível gerada pelo compilador DML. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 41 Arquitetura de SGBD •Tarefas: • interação com o sistema de arquivos dosistema operacional, • cumprimento da integridade,–cumprimento da segurança, • cópias de segurança (“backup”) erecuperação, • controle de concorrência. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 42 Arquitetura de SGBD •Papéis Humanos em um Sistema de Bancos de Dados: •Usuários do Banco de Dados: • Realizam operações de manipulação de dados. • programadores de aplicações, • usuários ofisticados, • usuários especializados, • usuários “ingênuos”. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 43 Arquitetura de SGBD •Papéis Humanos em um Sistema de Bancos de Dados: •Administrador do Banco de Dados • Pessoa (ou grupo) responsável pelo controle do sistemade banco de dados. • Administrador de Dados • Administrador do SGBD 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 44 Arquitetura de SGBD • Administração de Sistemas de Bancos de DadosAdministrador de Dados ( DBA) • definição e atualização do esquema do banco de dados. • Administrador do SGBD • definição da estrutura de armazenamento e a estratégia(ou método) de acesso, • concessão de autorização para acesso a dados, • definição de controles de integridade, • definição de estratégias para cópia de segurança erecuperação, • monitoramento do desempenho, • execução de rotinas de desempenho, modificaçãoda organização física. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 45 Arquitetura de SGBD •Sistema de Cliente-Servidor N camadas Acrescenta uma camada (Aplicação) entre o cliente e o banco de dados. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 46 Arquitetura de SGBD •Sistema de Cliente-Servidor •O cliente executa as tarefas do aplicativo (interface gráfica), e o servidor executa o SGBD. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 47 Arquitetura de SGBD •Banco de dados distribuídos 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 48 Modelagem de Banco de Dados Modelo Entidade-Relacionamento •Modelo Entidade-Relacionamento (MER) •Tanto os dados quanto os relacionamentos são representados por tabelas. •Possui fundamento matemático sólido. •Prescinde de estruturas de índice eficientes e hardware adequado para alcançar desempenho viável em situações práticas. 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 50 Projeto Conceitual •Projeto Conceitual: Diagrama Entidade-Relacionamento (DER) 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 51 Projeto Conceitual •Projeto Conceitual: Diagrama Entidade-Relacionamento (DER) • Determine as relações de cardinalidade entre as entidades e classifique-as como • Um-para-Um (por exemplo, um imóvel tem um endereço) • Um-para-muitos (por exemplo, um imóvel pode ser envolvido em muitos incêndios) • Muitos-para-muitosy (por exemplo, venda de imóveis: um imóvel pode ser vendido para muitos proprietários, e um proprietário individual pode vender muitos imóveis) • Desenhe o diagrama entidade-relação • Determine os atributos de cada entidade • Defina a chave primária (única) de cada entidade 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 52 Projeto Conceitual: Diagrama Entidade- Relacionamento (DER) 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 53 Projeto Lógico Projeto Lógico: Geração de um DER a tabelas 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 54 Projeto Físico •Projeto Físico 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 55 CREATE TABLE Turma ( IDTurma varchar(100) PRIMARY KEY, Apelido varchar(100), DataInicio Date, DataFim Date ) CREATE TABLE Disciplina ( NomeDisciplina varchar(100), CODDisciplina varchar(100) PRIMARY KEY, CargaHoraria BigInt ) CREATE TABLE Professor ( IDProfessor BigInt PRIMARY KEY, NomeProfessor varchar(100), DataAdmissao Date, email varchar(100) ) SGBD's 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 56 Revisão BD I •Álgebra e Cálculo Relacional •Normalização em banco de Dados •Introdução à Linguagem SQL 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 57 Exercícios Exercícios • Cada dupla deverá modelar (Projeto Conceitual, Lógico e Físico) um sistema: 1. Locadora de vídeos: 2. Locadora de carros: 3. Gerenciamento de filmes: 4. Registro acadêmico: 5. Sistema de hotel: 6. Pequena loja de adesivos: 7. Livraria: 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 59 Resumo da Aula Resumo da Aula •Apresentação da disciplina •Revisão de banco de dados: •Conceitos de Banco de Dados; •Tipos de Banco de Dados; •Sistema de Banco de Dados; •Características de um SGBD; •Arquitetura de SGBD 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 61 Próxima Aula Próxima Aula •Linguagem SQL 11-Aug-17 Banco de Dados II - Prof. Odair Moreira de Souza 63 Prof. Me. Odair Moreira de Souza Email: