Exemplo de Necessidade de Modelagem de Dados. Exemplo de Necessidade de Modelagem de Dados



Documentos relacionados
Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Módulo 4: Gerenciamento de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Introdução Banco de Dados

Conceitos de Banco de Dados

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Revisão de Banco de Dados

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Prof.: Clayton Maciel Costa

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Disciplina de Banco de Dados Introdução

INTRODUÇÃO. Diferente de Bando de Dados

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Prof. Marcelo Machado Cunha

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

UD 4: Sistema de Gerenciamento de Banco de Dados

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

SISTEMA GERENCIADOR DE BANCO DE DADOS

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Introdução à Banco de Dados. Definição

Modelos de Dados e Arquitetura de um SGBD. Introdução 1º Bimestre Prof. Patrícia Lucas

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

CEFET.PHB - PI. Plano de Ensino. Banco de Dados. Plano de Ensino. Plano de Ensino. Plano de Ensino - Conteúdo. Plano de Ensino - Conteúdo

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

Modelo Entidade-Relacionamento

05/06/2012. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Fundamentos de Banco de Dados

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I Introdução

GBD PROF. ANDREZA S. AREÃO

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

MC536 Bancos de Dados: Teoria e Prática

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Administração de Banco de Dados

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

Roteiro 2 Conceitos Gerais

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

MODELAGEM DE DADOS. Banco de Dados I. O uso da análise e do projeto Orientados a Objetos atenuou a separação! Unidade I

BANCO DE DADOS PROFESSOR MAURÍCIO - MAURICIO.MELLO@PUCPR.BR AULA 02. O Modelo Entidade-Relacionamento ( MER )

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Faculdade Lourenço Filho - ENADE

MSc. Daniele Carvalho Oliveira

Modelos. Comunicação com clientes

Banco de Dados I. Prof. Bal. Emerson Meneses Inocente

Softwares Aplicativos Banco de Dados

Sistemas Gerenciadores de Bancos de Dados

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Unidade II ADMINISTRAÇÃO DE. Prof. Luiz Fernando de Lima Santos

Banco de Dados. Profª. Ana Leda

Prof.: Clayton Maciel Costa

Introdução a Banco de Dados. Adão de Melo Neto

Prof. Alexandre Unterstell Banco de Dados I

Orientação a Objetos

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Curso Superior de Tecnologia em BD

Modelo de Entidade e Relacionamento (MER) - Parte 07

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Sistemas Gerenciadores de Bancos de Dados

1) O QUE NÃO É BANCO DE DADOS?

MC536 Bancos de Dados: Teoria e Prática

Figura 1 - Arquitetura multi-camadas do SIE

Ciclo de Desenvolvimento de Sistemas de BD

Persistência e Banco de Dados em Jogos Digitais

Sistemas Operacionais

ENGENHARIA DA COMPUTAÇÃO

Disciplina: Tecnologias de Banco de Dados para SI s

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

ISO/IEC 12207: Gerência de Configuração

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Projeto de Banco de Dados

Transcrição:

Exemplo de Necessidade de Modelagem de Dados 1 Exemplo de Necessidade de Modelagem de Dados 2 1

Exemplo de Necessidade de Modelagem de Dados 3 Exemplo de Necessidade de Modelagem de Dados 4 2

Exemplo de Necessidade de Modelagem de Dados 5 Exemplo de Necessidade de Modelagem de Dados 6 3

Exemplo de Necessidade de Modelagem de Dados 7 Modelo Entidade-Relacionamento - MER - 8 4

Modelo Entidade-Relacionamento Principais Sintomas de Problemas na Administração de Dados: 1. Todos reclamam da dificuldade em obter informações; 2. Informações úteis não estão no sistema; 3. Alguns Processos importantes não geram histórico; 4. Informações Gerenciais são diferentes da Informações Operacionais; 9 Modelo Entidade-Relacionamento Principais Sintomas de Problemas na Administração de Dados: 5. Informações Gerenciais precisam ser redigitadas, agrupadas, reorganizadas e recalculadas; 6. Políticas da Empresa e Regras de Negócio são violadas; 7. As pessoas desconfiam das informações impressas, e fazem a soma manual. 10 5

Modelo Entidade-Relacionamento Modelagem de Dados Objetivo: Definir as regras do negócio, para que se torne possível detalhar as informações necessárias ao desempenho das atividades normais de cada setor. Essa é a tarefa inicial do analista de sistemas. A utilização de computadores nas tarefas do dia a dia de uma empresa requer um certo grau de organização das atividades e a identificação de uma série de elementos-chave para o bom andamento dos negócios. Essas definições são gerenciais e estratégicas, relacionadas às políticas adotadas na condução dos negócios e nas próprias características do ramo de atividade. 11 Modelo Entidade-Relacionamento Modelagem de Dados Exemplos de definições feitas durante uma modelagem de dados: - Levantamento das personagens e eventos envolvidos com o dia a dia da organização; - caracterizar particularmente cada um desses objetos, bem como os relacionamentos existentes entre eles; - identificar os objetivos finais da organização; - priorizar as atividades; - etc. 12 6

Modelo Entidade-Relacionamento M E R Definição: Modelo proposto por Peter Chen (1976), baseado na percepção do mundo real, que consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre esses objetos. Objetivo: Facilitar o projeto de banco de dados, possibilitando a especificação da estrutura lógica geral do banco de dados. 13 Modelo Entidade-Relacionamento Elementos: Entidades Conjuntos de objetos do mundo real que possui existência independente, com características próprias. Atributos Representam as características de uma Entidade. Relacionamentos Vínculos ou associações entre Entidades. 14 7

Entidade: Modelo Entidade-Relacionamento Princípios Básicos e Conceitos Gerais Uma entidade é uma representação abstrata de um objeto do mundo real. Assim, uma entidade pode ser a representação de um ser, de um fato, de uma coisa, de um organismo social, etc. Ex: funcionário, data, material usado pela empresa, departamento, etc. Podemos considerar um grupo de entidades que tem características semelhantes como formando conjuntos de entidades, como por exemplo o conjunto de funcionários, o conjunto de livros, o conjunto de departamentos, etc. No MER, um conjunto de entidades é representado por um retângulo. Funcionários Livros Departamentos 15 Atributos: Modelo Entidade-Relacionamento A representação de um objeto do mundo real como uma entidade, não é de grande valia se não associarmos a esse ponto as informações que desejamos guardar sobre o objeto. Quando nos referimos à José da Silva, por exemplo, devemos associar informações como seu nome, endereço, sexo, salário, etc. Esse conjunto de valores são denominados de atributos. Os atributos são representados por elipses, conforme exemplo abaixo: Cod-func Funcionários * Endereço Estado Nome Dependentes Cidade 16 8

Modelo Entidade-Relacionamento Atributo Monovalorado: Assume um único valor para cada elemento do conjunto-entidade. Ex: Nome Atributo Composto: Formado por um ou mais sub-atributos. Ex: Endereço (Cidade, Estado, etc). Atributo Multivalorado: Uma única entidade tem diversos valores para esse atributo (seu nome é sempre representado no plural). Ex: Dependentes 17 Modelo Entidade-Relacionamento Atributo Determinante: Identifica cada entidade de um conjunto-entidade, também conhecido como atributo-chave. Ex: Cod-func Domínio de um Atributo: Conjunto de valores permitidos para o atributo. Ex: Sexo {M, F} 18 9

Relacionamento: Modelo Entidade-Relacionamento São estruturas que representam os vínculos que existem entre as entidades no mundo real, indicando portanto a associação de elementos de duas ou mais entidades. A representação diagramática desse conjunto é um losango. Ex: José está matriculado na disciplina banco de dados. Onde: João: Elemento do conjunto de valores do atributo Nome do aluno da entidade Aluno; Banco de Dados: Elemento do conjunto de valores do atributo Nome da disciplina da entidade Disciplina; Matriculado: Ligação existente entre um aluno e uma disciplina. Aluno Matriculado Disciplina 19 Modelo Entidade-Relacionamento Classe: Identifica quantas vezes cada instância de uma entidade pode participar do relacionamento. Para relacionamentos binários, temos os seguintes tipos de classes: - 1 : 1-1 : N - N : N Cardinalidade de Relacionamentos: Representa a freqüência com que existe o relacionamento. 20 10

Modelo Entidade-Relacionamento Classe 1 : 1 (um-para-um) Uma entidadade em A está associada no máximo a uma entidade em B e uma entidade em B está associada no máximo a uma entidade em A a1 b1 a2 b2 a3 b3 Conjunto-Entidade A Conjunto-Entidade B 21 Modelo Entidade-Relacionamento Relacionamento Classe 1 : 1 José é casado com Maria. Onde: José: Elemento do conjunto de valores do atributo Nome da entidade Homem. Maria: Elemento do conjunto de valores do atributo Nome da entidade Mulher. Casado: Ligação entre um homem e uma mulher, sendo que um homem pode ser casado com uma e apenas uma mulher, assim como uma mulher pode ser casada com um e apenas um homem. Homem 1 1 Casamento Mulher 22 11

Modelo Entidade-Relacionamento Cada Mulher pode casar com quantos Homens? Homem 1 1 Casamento Mulher Cada Homem pode casar com quantas Mulheres? 23 Modelo Entidade-Relacionamento Classe 1 : N (um-para-muitos) Uma entidadade em A está associada a qualquer número de entidades em B, enquanto uma entidade em B está associada no máximo a uma entidade em A a1 b1 b2 a2 b3 b4 a3 b5 Conjunto-Entidade A Conjunto-Entidade B 24 12

Modelo Entidade-Relacionamento Relacionamento Classe 1 : N ou N : 1 Ex: João trabalha no Departamento de Informática Onde: João: Elemento do conjunto de valores do atributo Nome da entidade Funcionário. Depto. Informática: Elemento do conjunto de valores do atributo Nome do departamento da entidade Departamento. Trabalha: Ligação entre um Funcionário e um Departamento, onde um funcionário pode trabalhar em um e somente um departamento e um departamento pode ter vários funcionários. Funcionários N 1 Trabalha Departamento 25 Modelo Entidade-Relacionamento Cada Funcionário trabalha em quantos Departamentos? Funcionário N 1 Trabalha Departamento Cada Departamento pode ter quantos Funcionários? 26 13

Modelo Entidade-Relacionamento Classe N : N (muitos-para-muitos) Uma entidadade em A está associada a qualquer número de entidades em B, e uma entidade em B está associada a qualquer número de entidades em A a1 b1 a2 b2 a3 b3 a4 b4 Conjunto-Entidade A Conjunto-Entidade B 27 Modelo Entidade-Relacionamento Relacionamento Classe N : N Ex: O Lucas está matriculado na disciplina de Banco de Dados Onde: Lucas: Elemento do conjunto de valores do atributo Nome da entidade Aluno. Banco de Dados: Elemento do conjunto de valores do atributo Nome da Disciplina da entidade Disciplina. Matriculado: Ligação existente entre um aluno e uma disciplina, onde um aluno pode estar matriculado em várias disciplinas e cada disciplina pode ter vários alunos matriculados. Aluno N Matriculado N Disciplina 28 14

Modelo Entidade-Relacionamento Cada Aluno pode se matricular em quantas Disciplinas? Aluno N Matriculado N Disciplina Cada Disciplina pode ter a participação de quantos Alunos? 29 Modelo Entidade-Relacionamento - Exercícios cios - 30 15

MER Abstração de Dados Abstração de dados: O conceito de abstração de dados está associado à característica de se observar somente os aspectos de interesse, sem se preocupar com maiores detalhes envolvidos. Neste contexto, um banco de dados pode ser visto sem se considerar a forma como os dados estão armazenados fisicamente. Exemplos de abstração de um banco de dados: - Um usuário que deseja consultar um banco de dados não necessita se importar com dados que não estão associados ao seu dia-a-dia (se ele é do departamento de engenharia, não deve ter acesso aos dados de folha de pagamento). - Um programador de aplicação não precisa se importar com aspectos físicos de armazenamento (quais os arquivos que armazenam o banco de dados, pois é uma preocupação do DBA). - Um administrador de banco de dados deve saber detalhes físicos do banco de dados para realizar ajustes que poderão resultar em melhoria de performance. 31 MER Abstração de Dados A finalidade de um sistema de banco de dados é simplificar e facilitar o acesso aos dados. O fator principal de satisfação de um usuário com um sistema de banco de dados é seu desempenho. Se o tempo de resposta a uma solicitação é muito longo, o valor do sistema é diminuído. O desempenho de um sistema depende da eficiência das estruturas de dados usadas para representar os dados no banco de dados, e quão eficientemente o sistema é capaz de operar essas estruturas de dados. Um modelo de dados é a principal ferramenta no fornecimento dessa abstração. Estrutura de banco de dados denota tipos de dados e relacionamentos entre eles. 32 16

MER - Exercícios cios Definir um MER baseado nos seguintes dados: Entidades e Atributos Cliente: nome, seguro, RG Conta: nroconta, saldo Transação: nrotrans, data, valor Relacionamentos Cliente X Conta (data) Conta X Transação 33 MER - Exercícios cios NOME RG NROCONTA SALDO CLIENTE C - C CONTA SEGURO DATA C - T NROTRANS TRANSAÇÃO DATA VALOR 34 17

MER - Exercícios cios Definir um MER baseado nos seguintes dados: Entidades e Atributos Depósito (D): nome_agencia, valor_dep, conta, nome_cliente Agência (A): cidade_ag, nome_ag, tot_deposito Empréstimo (E): nome_agencia, valor_emp, nome_cliente Cliente (C): nome_cliente, cidade_cliente Relacionamentos Depósito X Agência Agência X Empréstimo Agência X Cliente 35 MER - Exercícios cios Nome_ag Valor_dep Cidade_ag Nome_ag Tot_dep DEPÓSITO N 1 1 AGÊNCIA D - A A - E 1 N Conta Nome_cli A - C EMPRÉSTIMO Nome_cli N Nome_ag Valor Cidade_cli CLIENTE Nome_cli 36 18

MER - Exercícios cios Realizar um MER baseado na seguinte descrição: Um usuário de uma localidade qualquer possui um determinado número de créditos em cartão indutivo, para utilizar um telefone público (TP). Este TP possui um número de linha e uma categoria de chamada (Local, DDD, DDI). O TP utiliza uma central telefônica para fazer a chamada. Esta central possui um prefixo e um tipo de cobrança. A central liga para a chamada destino, que possui um número e um estado operacional (ocupado, livre, etc). Finalmente o destino conecta-se com o usuário. 37 MER - Exercícios cios MER TELEFONE PÚBLICO Entidades e Atributos Usuário (U): localidade, nrocredcartao TP (T): nrolinha, categoria Central (C): prefixo, tipocobranca Destino (D): nrodestino, estadooper Relacionamentos Usuário X TP TP X Central Central X Destino Destino X Usuário 38 19

MER - Exercícios cios Localidade Nrocredcartao Nrolinha Categoria 1 1 USUÁRIO U - T TP 1 N D - U T - C 1 N 1 1 DESTINO C - D CENTRAL Nrodestino Estadooper Prefixo Tipocobrança 39 MER - Exercícios cios Realizar um MER baseado na seguinte descrição: A companhia possui funcionários que são registrados com um código, seu nome, sexo, data de nascimento, endereço, cidade, UF e salário. Cada funcionário trabalha para um departamento que é identificado na companhia por um número, nome e que possui um registro do número total de funcionários. O departamento é gerenciado por uma gerência e controla um projeto. Cada projeto possui um número, nome, descrição e utiliza um determinado local. Este local possui um código, nome, cidade e UF. Um funcionário pode ser gerente de uma gerência. Quando isso acontece a data de início dessa nova atribuição deve ser registrada pela gerência. Os funcionários podem ter dependentes, os quais devem ser cadastrados através de um número, nome, sexo, data de nascimento e grau de parentesco. Observar que os dependentes possuem uma relação de dependência de um funcionário. 40 20

MER - Exercícios cios MER COMPANHIA Entidades e Atributos Funcionário: cod_func, nome, sexo, dtnasc, salario, ender, cidade, uf Departamento: nrodep, nome, nrofuncdep Gerência: dt_inic_ger Projeto: nroproj, nome, desc Local: codlocal, nome, cidade, uf Dependente: nrodep, nome, sexo, dtnasc, parentesco Relacionamentos 1) Funcionário trabalha para um departamento, pode ser gerente de uma gerência e pode ter dependentes; 2) Departamento é gerenciado por uma gerência e controla um projeto; 3) Projeto utiliza um local; 4) Dependente é dependente de um funcionário. 41 MER - Exercícios cios codfunc nome sexo dtnasc nrodep nome nrofuncdep UF FUNCIONÁRIO cidade salario endereço É gerente Trabalha para dtinicger GERÊNCIA DEPARTAMENTO É gerenciado nome É dependente parentesco codloc nomeloc controla DEPENDENTE LOCAL utiliza PROJETO nrodep sexo dtnasc cidade UF nome nroproj descrição 42 21

Conceitos Complementares 43 Conceitos Instâncias Os bancos de dados mudam com o tempo na medida em que informações são inseridas e removidas. A coleção de informações armazenadas no banco de dados em um particular instante é chamada de instância do banco de dados. Esquemas Projeto geral do BD, que não muda com frequência. São subdivididos de acordo com o nível de abstração: - Nível mais baixo: esquema físico - Nível intermediário: esquema conceitual - Nível mais alto: subesquema Esquema = Definição, Modelo Instância = Valor, Conteúdo Cliente (Saldo, Idade) José (200.00, 32) Maria (500.00, 25) 44 22

Conceitos Para ilustrar a distinção entre esquemas e instâncias faremos uma analogia com os conceitos de tipos de dados, variáveis e valores em linguagens de programação. Linguagem de Programação Banco de Dados Variável de um determinado tipo tem um valor particular em um determinado instante de tempo. O conceito de valor de uma variável na linguagem de programação corresponde ao conceito de instância de um esquema de BD. 45 Conceitos Independência de Dados É o principal objetivo que deve ser alcançado pelo BD, pois é o que vai possibilitar a expansão de atividades da empresa pela facilitação de desenvolvimento de novos sistemas. É a capacidade de permitir evolução na descrição de dados da empresa, como a inclusão de um novo dado na estrutura existente, sem que os sistemas ou aplicações sejam alterados. Existem dois níveis de independência de dados: Independência Física de Dados Independência Lógica de Dados 46 23

Conceitos Independência Física de Dados: É a habilidade de modificar o esquema físico (estrutura) sem a necessidade de reescrever os programas aplicativos. Essas modificações ocasionalmente são necessárias para melhorar o desempenho do sistema. Independência Lógica de Dados: É a habilidade de modificar o esquema conceitual (consultas à BD) sem a necessidade de reescrever os programas aplicativos. Tais alterações são necessárias quando a estrutura lógica do BD é alterada. 47 Conceitos Linguagem de Definição de Dados (DDL) Linguagem que define as aplicações, arquivos e campos que irão compor o banco de dados (comandos de criação e atualização da estrutura dos campos dos arquivos). Também é conhecida por DDL (Data Definition Language). EX: Create Table (comando SQL que cria tabela) Create Index (comando SQL que cria índice em uma tabela) Onde ficam armazenadas estas informações? Dicionário de Dados (Data Dictionary - DD): arquivo que contém metadados; isto é, dados acerca de dados. Este arquivo é consultado antes de dados reais serem lidos ou modificados no sistema de banco de dados. 48 24

Conceitos Linguagem de Manipulação de Dados (DML) Linguagem que permite aos usuários acessar ou manipular dados organizados por um modelo de dados apropriado, conhecida por Data Manipulation Language. O que é a manipulação de dados? - A recuperação da informação armazenada no BD; - A inserção de novas informações no BD; - A eliminação de informações do BD; - A modificação de dados armazenados no BD. Uma consulta (query) é um comando requisitando o resgate de uma informação. 49 Conceitos Hardware Consiste dos volumes de memória (discos) nos quais reside o banco de dados, juntamente com os dispositivos de manutenção de dados associados (unidades de fitas, fitas, etc.). Software Entre o banco de dados físico (isto é, os dados armazenados) e os usuários do sistema encontra-se uma camada de software, usualmente chamada de sistema de gerenciamento do banco de dados ou DBMS (Data Base Management System). Todas as solicitações dos usuários para acesso ao banco de dados são manipuladas pelo DBMS. Outra função é isolar os usuários dos níveis de detalhes de hardware, fornecendo uma visão mais elevada e um acesso aos dados mais amigável. 50 25

Conceitos Usuários Existem 4 tipos diferentes, segundo o modo pelo qual esperam interagir com o sistema: -Programadores de Aplicativos: responsável por escrever os programas de aplicação que utilizam o banco de dados. Incluem chamadas DML em programas para realizarem tarefas adicionais ao sistema existente. -Usuários sofisticados: Interagem com o sistema sem escreverem programas, através de uma linguagem de consulta. -Usuários leigos: Interagem com o sistema através da utilização de programas aplicativos criados por outros usuários. -Administrador de Banco de Dados (Data Base Administrator-DBA): descrito a seguir. 51 Conceitos Administrador de Banco de Dados (DBA) - Principais Funções: - Definição de Esquemas: decide que informação manter, qual deve ser o conteúdo do BD assim como do Dicionário de Dados. - Definição de Estrutura de Armazenamento e Método de Acesso: Decide como os dados serão representados no BD, ou seja, qual a sua estrutura e como os dados serão acessados. -Modificação de Esquema e Organização Física: Deverá efetuar os ajustes adequados quanto às necessidades de modificações. -Concessão de autorização para acesso aos dados: Define privilégios para cada usuário. -Backup e Recuperação: recuperação Definir uma estratégia para backup e -Desempenho: Monitorar o desempenho e responder a mudanças de necessidades 52 26

Evolução Evolução dos sistemas de computação: 3 fases históricas: 1. Abordagem Tradicional 2. Abordagem de Sistemas Integrados 3. Abordagem de Banco de Dados 53 Evolução 1. Abordagem Tradicional Totalmente baseada em técnicas não-estruturadas, utilizando a intuição natural do analista, sua capacidade criativa e vivência dentro do Ambiente do sistema. Adaptação de grande quantidade de programas Alteração Mudança da BD Grande esforço de programação Implementação Recheada de Erros Esquecimento de alterações em alguns programas 54 27

Evolução Exemplo de Ambiente durante a abordagem tradicional: EMPRESA Depto A Sistema A BD A Analista A Depto B Sistema B BD B Analista B Depto C Sistema C BD C Analista C 55 Evolução Características da Abordagem Tradicional: - Cada aplicação tem seus próprios arquivos; - Inconsistência acentuada; - Subordinação de programas a arquivos; - Manutenção difícil e cara; - Analista dono do sistema; - Falta de integridade; - Segurança inexistente. 56 28

Evolução 2. Abordagem de Sistemas Integrados 1980: Problemas anteriores originaram a visão de Sistemas Integrados, para resolver questões de redundância acentuada e integridade de informações. Isso proporcionou uma visão corporativa dos sistemas. Visão Corporativa Dados de interesse comum à várias áreas da organização Integração entre os sistemas Resultado Eliminou a acentuada redundância de dados Sistemas passam a usar uma base única de informação, sem repetição de arquivos por sistemas Grau acentuado da unicidade da informação Integração do sistema a nível de empresa, ficando dependentes um dos outros, pois a BD é compartilhada 57 Evolução Exemplo de ambiente durante a abordagem de sistemas integrados: EMPRESA BD Comum Depto A Sistema A Analista A Depto C Sistema C Analista C Depto B Sistema B Analista B 58 29

Evolução Características da Abordagem de Sistemas Integrados: - Pouco maleável; - Alterações comprometem vários sistemas; - Aplicações estáticas com o tempo; - Problemas em um sistema paralisam atividades em outro; - Programas ainda subordinados a arquivos; - Visão de usuário é inexistente; - Integridade e segurança ainda fracas. 59 Evolução Conseqüência da utilização da abordagem de sistemas integrados: Implicações: Com o crescimento das aplicações esta filosofia tornou-se ineficiente. Motivos: - Qualquer alteração na BD afetava um número ainda maior de sistemas e programas; - Dificuldades criadas em função do volume de alterações se tornaram as aplicações estáticas, sem evolução tecnológicas, levando os CPDs a uma estagnação com ineficiência completa. 60 30

Evolução 3. Abordagem de Banco de Dados As duas abordagens anteriores enfatizavam o PROCESSO, por isso existiam dificuldades de manutenção, pois os programas eram acoplados aos arquivos. Exemplo: Sistema de cadastro de alunos: associado ao arquivo ALUNOS Sistema de cadastro de professores: associado ao arquivo PROFESSORES 61 Evolução Abordagem de Banco de Dados Enfatiza DADOS, não PROCESSOS Atualmente o processamento é visto como consequência dos dados e não mais o contrário. Preocupações para usar o novo enfoque: - Definição de um modelo de dados em termos da empresa como um todo, observando o inter-relação entre as diversas áreas. - Definir a implementação física dos dados 62 31

Evolução Abordagem de Banco de Dados Vantagens: - Desenvolvimento mais flexível e produtivo; - Integração dos dados em nível empresarial; - Transparência dos dados quanto às aplicações; - Maior controle sobre a integridade dos dados; - Maiores controles de Segurança dos dados. Requisitos: - Aquisição e utilização de um SGBD; - Utilização de um Dicionário de Dados; - Centralização da definição de dados; - Centralização do projeto das bases de dados. 63 Sistemas Gerenciadores de Banco de Dados (SGBD) Sistema Gerenciador de Banco de Dados (SGBD) Coleção de programas que permite usuários criarem e manterem bancos de dados. Software de propósito geral que facilita os processos de definir, construir e manipular BDs para diversas aplicações. Definir: Especificar os tipos de dados, estruturas e restrições para os dados armazenados no BD. Construir: Processo de armazenar os próprios dados em algum meio de armazenamento que é controlado pelo SGBD. Manipular: Incluir funções como consultar o banco de dados para recuperar dados, atualizar o banco de dados para refletir mudanças, e gerar relatórios dos dados. 64 32

Sistemas Gerenciadores de Banco de Dados (SGBD) Vantagens e Características de um SGBD 1) REDUÇÃO OU ELIMINAÇÃO DE REDUNDÂNCIAS - Possibilita a eliminação de dados privativos de cada sistema. Os dados, que eventualmente são comuns a mais de um sistema, são compartilhados por eles, permitindo o acesso a uma única informação sendo consultada por vários sistemas. 2) ELIMINAÇÃO DE INCONSISTÊNCIAS - Através do armazenamento da informação em um único local com acesso centralizado e, sendo compartilhada à vários sistemas, os usuários estarão utilizando uma informação confiável. A inconsistência ocorre quando um mesmo campo tem valores diferentes em sistemas diferentes. Exemplo, o estado civil de uma pessoa é solteiro em um sistema e casado em outro. Isto ocorre porque esta pessoa atualizou o campo em um sistema e não o atualizou em outro. Quando o dado é armazenado em um único local e compartilhado pelos sistemas, este problema não ocorre. 65 Sistemas Gerenciadores de Banco de Dados (SGBD) 3) COMPARTILHAMENTO DOS DADOS - Permite a utilização simultânea e segura de um dado, por mais de uma aplicação ou usuário, independente da operação que esteja sendo realizada. Deve ser observada apenas o processo de atualização concorrente, para não gerar erros de processamento (atualizar simultaneamente o mesmo campo do mesmo registro). Os aplicativos são por natureza multiusuário. 4) PADRONIZAÇÃO DOS DADOS - Permite que os campos armazenados na base de dados sejam padronizados segundo um determinado formato de armazenamento (padronização de tabela, conteúdo de campos, etc) e ao nome de variáveis seguindo critérios padrões pré-estabelecido pela empresa. Ex. Para o campo "Sexo" somente será permitido armazenamento dos conteúdos "M" ou "F". 66 33

Sistemas Gerenciadores de Banco de Dados (SGBD) 5) MANUTENÇÃO DE INTEGRIDADE - Exige que o conteúdo dos dados armazenadas no Banco de Dados possuam valores coerentes ao objetivo do campo, não permitindo que valores absurdos sejam cadastrados. Exemplo: Um funcionário que faça no mês 500 horas extras, ou um aluno que tenha nascido no ano de 1860. 6) EVITAR NECESSIDADES CONFLITANTES - Representa a capacidade que o administrador de Banco de Dados deve ter para solucionar "prioridades sempre altas" de todos os sistemas, tendo ele que avaliar a real necessidade de cada sistema para a empresa para priorizar a sua implantação. 7) RESTRIÇÕES DE SEGURANÇA - Define para cada usuário o nível de acesso a ele concedido (leitura, leitura e gravação ou sem acesso) ao arquivo e/ou campo. Este recurso impede que pessoas não autorizadas utilizem ou atualizem um determinado arquivo ou campo. 67 Sistemas Gerenciadores de Banco de Dados (SGBD) 8) INDEPENDÊNCIA DOS DADOS - Representa a forma física de armazenamento dos dados no Banco de Dados e a recuperação das informações pelos programas de aplicação. Esta recuperação deverá ser totalmente independente da maneira com que os dados estão fisicamente armazenados. Quando um programa retira ou inclui dados o SGBD compacta-os para que haja um menor consumo de espaço no disco. Este conhecimento do formato de armazenamento do campo é totalmente transparente para o usuário. A independência dos dados permite os seguintes recursos: a) Os programas de aplicação definem apenas os campos que serão utilizados independente da estrutura interna dos arquivos; b) Quando há inclusão de novos campos no arquivo, será feita manutenção apenas nos programas que utilizam esses campos, não sendo necessário mexer nos demais programas. 68 34

Sistemas Gerenciadores de Banco de Dados (SGBD) Diferenças para aplicações tradicionais baseadas em processamento de arquivos: a) Único repositório X Arquivos definidos por cada usuário. b) Existência de um catálogo ou Dicionário de Dados: - Completa Definição ou Descrição do BD (Metadados); - Estrutura, Tipo, Formato de Armazenamento para cada item dos dados, bem como Restrições. 69 Sistemas Gerenciadores de Banco de Dados (SGBD) c) Suporte a Múltiplas Visões dos Dados: - Subconjunto dos dados ou dados virtuais; - Suporta diferentes perspectivas do BD para atender necessidades específicas dos usuários; d) Compartilhamento de Dados e Processamento de Transações Multiusuário: - Controle de Concorrência: assegurar que diversos usuário tentando atualizar os mesmos dados o façam de uma maneira controlada tal que o resultados das atualizações é correto. 70 35

Sistemas Gerenciadores de Banco de Dados (SGBD) Estrutura Geral Um sistema de banco de dados é dividido em módulos que tratam de cada uma das responsabilidades do sistema geral. Seus componentes funcionais são os seguintes: Gerenciador de arquivos: Gerencia a alocação do espaço na armazenagem do disco e as estruturas de dados utilizadas para representar a informação armazenada no disco. Gerenciador do banco de dados: Fornece a interface entre os dados de baixo nível armazenados no disco e os programas aplicativos de consulta submetidas ao sistema. 71 Sistemas Gerenciadores de Banco de Dados (SGBD) Processador de Consultas: Traduz comandos numa linguagem de consulta em instruções de baixo nível que o gerenciador do banco de dados entende. Também otimiza a requisição do usuário, encontrando uma boa estratégia para executar a consulta. Pré-compilador DML: Converte comandos DML (Data Manipulation Language) embutidos em um aplicativo para chamadas de processamento normal na linguagem hospedeira. Interage com o processador de consultas para gerar o código apropriado. Compilador DDL: Converte comandos DDL (Data Definition Language) em um conjunto de tabelas contendo metadados ou dados sobre dados. Tais dados são consultados antes que os dados reais sejam lidos ou modificados no sistema de banco de dados. 72 36

Sistemas Gerenciadores de Banco de Dados (SGBD) Estruturas de dados adicionais Arquivos de dados: Armazenam o banco de dados propriamente dito. Dicionário de dados: Armazenam metadados sobre a estrutura do banco de dados. Índices: Fornecem acesso rápido aos itens de dados. 73 Sistemas Gerenciadores de Banco de Dados (SGBD) Usuários ingênuos Programadores de Aplicativos Usuários de Alto Nível Administrador de Banco de Dados Interfaces do Aplicativo Programas Aplicativos Consulta Esquema de Banco de Dados Pré-Compilador da Linguagem de Manipu- Lação de Dados Processador de Consulta Compilador de linguagem de definição de dados Código-objeto de Programas Aplicativos Esquema de Banco de Dados Sistema Gerenciador de Banco de Dados Gerenciador de Arquivos Arquivos de Dados Dicionário de Dados Disco de Armazenamento 74 37