Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 10 Semestre de 2013 Banco de Dados I – BD I Prof. Lineu Mialaret Aula 2: Introdução a Tecnologia de BD Dado e Informação (1) • • • • • Dado: matéria prima dos Sistemas de Informação. Informação: dado agregado. Conhecimento: inferência realizada sobre a informação. Decisão: a operacionalização do conhecimento. Exemplo 1: – 15 é um dado. – 15 de dezembro é uma informação (ou seja, um dado agregado). – 15 de dezembro de 2013 é outra informação. – m 15 de dezembro de 2013 estarei formado (é um conhecimento, ou seja, uma dedução de um dado agregado, que é uma informação). – Em 15 de dezembro de 2013 deverei procurar emprego como Analista de Sistemas (é uma decisão, ou seja uma operacionalização do conhecimento). Banco de Dados I Aula 2 - 2/26 ©Prof. Lineu Mialaret Dado e Informação (2) • Exemplo 2: Tomar doril Decisão Banco de Dados I Aula 2 - 3/26 ©Prof. Lineu Mialaret Banco de Dados • Banco de Dados – Coleção de dados (informação) inter-relacionados, representando informações sobre um domínio (área de conhecimento) específico. • SGBD - Sistema Gerenciador de Banco de Dados – Software com recursos específicos para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas aplicativos. • Sistema de Banco de Dados – Dados, Hardware, Software (Aplicativos e SGBDs), Usuários. Banco de Dados I Aula 2 - 4/26 ©Prof. Lineu Mialaret Gerenciamento dos Dados • Aspectos a serem considerados no desenvolvimento de um simples Sistema para Controle de Vendas – – – – – – Persistência Integridade Concorrência Segurança Compartilhamento ... Banco de Dados I Aula 2 - 5/26 ©Prof. Lineu Mialaret SGBD - Sistema de Gerenciamento de Banco de Dados (1) • Objetivos – Fornece a interface entre os dados de baixo nível armazenados num banco de dados e os programas aplicativos ou as solicitações submetidas ao sistema. – Isola os usuários dos detalhes mais internos do banco de dados. – Reduzir o esforço de desenvolvimento. Banco de Dados I Aula 2 - 6/26 ©Prof. Lineu Mialaret SGBD - Sistema de Gerenciamento de Banco de Dados (2) • Características Principais – Controle de integridade: tanto de tipo de dado como de relação entre tabelas. – Concorrência: deve permitir a manipulação simultânea dos dados do banco por diversos usuários. – Controle de acesso: definição de permissões por usuário. – Controle transacional: conjunto de operações que devem ser executadas completamente. – Múltiplas interfaces: deve disponibilizar interface para acesso por diferentes tecnologias. – Administração: Backup, Recuperação, etc. Banco de Dados I Aula 2 - 7/26 ©Prof. Lineu Mialaret SGBD - Sistema de Gerenciamento de Banco de Dados (3) • Acesso ao BD por meio do SGBD Banco de Dados I Aula 2 - 8/26 ©Prof. Lineu Mialaret Definição e Manipulação de Dados • Esquema do Banco de Dados – É um projeto geral do banco de dados. • Linguagem de Definição de Dados (DDL) – Permite especificar o esquema do banco de dados, por meio de um conjunto de definições de dados. • Linguagem de Manipulação de Dados (DML) – Permite manipular os dados, acessando-os pelo nível de abstração mais alto do modelo de dados utilizado. Banco de Dados I Aula 2 - 9/26 ©Prof. Lineu Mialaret Modelo de Dados • Definição – Método de descrição dos dados, dos relacionamento entre os mesmos e das restrições de consistência e integridade, de maneira a permitir a compreensão da estrutura dos dados armazenados e a sua manipulação. • Tipos – – – – Relacional Objeto-relacional Hierárquico Outros Banco de Dados I Aula 2 - 10/26 ©Prof. Lineu Mialaret Modelo de Dados Relacional (1) • Tabelas – Conjunto não ordenado de linhas (tuplas). – Cada linha é composta por uma série de campos (atributos). – Cada campo é identificado por um nome. Banco de Dados I Aula 2 - 11/26 ©Prof. Lineu Mialaret Modelo de Dados Relacional (2) • Chaves – Conceito básico para identificar linhas e estabelecer relações entre linhas de diferentes tabelas. – Chave Primária: • coluna cujos valores distinguem uma linha das demais dentro de uma tabela. – Chave Estrangeira: • mecanismo que permite a implementação de relacionamentos em um banco de dados relacional. Banco de Dados I Aula 2 - 12/26 ©Prof. Lineu Mialaret Modelo de Dados Relacional (3) • Restrição de Integridade: – É uma regra de consistência de dados mantida pelo próprio SGBD. • Na abordagem relacional, as restrições de integridade são abordadas nas seguintes categorias: – Integridade de Domínio - Um valor designado para um campo deve estar dentro do domínio previsto para aquele campo. – Integridade de Vazio - Por meio desta restrição de integridade é possível determinar se um campo pode conter valores nulos. Os campos que compõem a chave primária devem ser diferentes de vazio. – Integridade de Chave - Restrição que determina que os valores de chaves primárias e alternativas devem ser únicos. – Integridade Referencial - É a restrição que define que valores dos campos que aparecem em uma chave estrangeira devem estar presentes na coluna da chave primária da tabela referenciada. Banco de Dados I Aula 2 - 13/26 ©Prof. Lineu Mialaret Modelo de Dados Relacional (4) • Regras de negócio: – São as restrições de integridade mais complexas que não podem ser definidas na estrutura da base de dados. São verificadas pelos programas de aplicação. – Implementadas num SGBD por meio de triggers e stored procedures (programação em banco de dados) Banco de Dados I Aula 2 - 14/26 ©Prof. Lineu Mialaret Projeto de Banco de Dados (1) • Fases do Projeto de BD – Modelagem Funcional • Construção de um modelo funcional, fazendo uso de diagramas de casos de uso. Este modelo captura os aspectos de funcionalidades do sistema a ser desenvolvido. – Modelagem Conceitual • Construção de um modelo conceitual, na forma de um diagrama entidade-relacionamento. Este modelo captura as necessidades da organização em termos de armazenamento de dados de forma independente de implementação. Banco de Dados I Aula 2 - 15/26 ©Prof. Lineu Mialaret Projeto de Banco de Dados (2) • Fases do Projeto de BD – Modelagem Lógica • Construção de um modelo lógico pela transformação do modelo conceitual construído na primeira fase. O modelo lógico define como o banco de dados será implementado em um SGBD específico. Banco de Dados I Aula 2 - 16/26 ©Prof. Lineu Mialaret Projeto de Banco de Dados (3) • Modelo Funcional – Diagrama de Caso de Uso Telefone Nome do Sistema Fronteira do Sistema Efetuar Chamada Ator Rede Telefônica Usuário Associação de comunicação entre ator e caso de uso Banco de Dados I Receber Chamada Caso de Uso Usar a Agenda Aula 2 - 17/26 ©Prof. Lineu Mialaret Projeto de Banco de Dados (4) • Modelo Conceitual – Diagrama Entidade-Relacionamento Banco de Dados I Aula 2 - 18/26 ©Prof. Lineu Mialaret Projeto de Banco de Dados (5) • Modelo Lógico – BD Relacional Banco de Dados I Aula 2 - 19/26 ©Prof. Lineu Mialaret Projeto de Banco de Dados (6) • Modelo Físico – BD Relacional CREATE TABLE Pedido ( codped INTEGER NOT NULL PRIMARY KEY, codcli INTEGER NOT NULL REFERENCES CLIENTE, datped DATE, … Banco de Dados I Aula 2 - 20/26 ©Prof. Lineu Mialaret