Você está na página 1de 13

Banco de Dados 02 Resumo

INTRODUO
Dados so conjunto de valores brutos Informao so dados associados seu significado, interpretao, semntica Conhecimento so informaes aplicadas em algum contexto (uso, descoberta, ...) Caractersticas de uma Base de Dados: Representao livre Arquivos texto (flat files) Nem sempre prov descries dos dados armazenados Caractersticas de um Banco de Dados: Obrigatoriamente prov informao (dados descritos) Dados so representados segundo um padro Caractersticas de uma Gerncia de Dados: Conjunto de funcionalidades para armazenamento e recuperao dos dados, garantindo consistncia, desempenho e integridade dos dados SGBDs: Sistemas de Gerncia de Bancos de Dados Bancos de Dados: Coleo auto-descritiva de registros integrados Inclui a definio de sua prpria estrutura: Dados, Metadados Contm: Dados, Registro das operaes realizadas, ndices e Dados sobre sua utilizao (Usurios, Aplicativos, Estatsicas) Caractersticas de Metadados (Catlogo) Dados sobre dados Permitem a manuteno, representao e identificao dos dados Garantem a consistncia e a persistncia das definies das unidades de dados Proporcionam aos usurios um entendimento comum das unidades de dados Funes da Gerencia de Dados Armazenar, Administrar, Otimizar e Recuperar os Dados Sistema Tradicional de Arquivos: Conjunto de dados separados para cada funcionalidade.

As limitaes dos Bancos de Dados so: Dados isolados e em diferentes arquivos; Registros incompatveis; Duplicao de dados; Programas dependentes dos dados; Dificuldade de representar o todo (a realidade do usurio). O SGBD (Sistema Gerenciador de Banco de Dados) facilita o processo de definio, construo e manipulao de bancos de dados para vrias aplicaes. Para definir um BD, necessrio especificar os tipos de dados, as estruturas e as restries para os dados que sero armazenados no BD. A construo do BD o processo de armazenar os referidos dados em algum meio de armazenamento que seja controlado pelo SGBD. Na manipulao do BD esto includas funes como: consultas para recuperao de dados especficos, atualizao do BD para refletir alteraes no mini-mundo e gerao de relatrios a partir dos dados. Caractersticas da abordagem de BDs: Natureza auto-contida: metadados armazenados num catlogo (dicionrio de dados)

Independncia entre programas e dados: estrutura dos arquivos de dados armazenada no catlogo separadamente dos programas de acesso Abstrao de dados: representao lgica dos dados atravs de modelos de dados Suporte a mltiplas vises de dados: diferentes perspectivas (vises) de usurios Suporte a transaes: compartilhamento de dados e processamento multi-usurio Vantagens de Utilizar um SGBD: Controle de Redundncias Restrio do Acesso No-Autorizado Armazenamento Persistente para Objetos de Programas e Estruturas de Dados Inferncia e Aes Utilizando Regras Mltiplas Interfaces de Usurio Representao de Relacionamentos Complexos entre Dados Imposio de Restries de Integridade Cpia e Recuperao (backup e recovery) Funcionalidades de um SGBD: Compartilhamento de dados Controle de redundncia Controle de acesso Mltiplas interfaces Representao de relacionamentos Gerncia das restries de integridade Capacidade de backup e restaurao Implicaes do Enfoque de BD: (Consequncias de se usar BDs!) Potencial para Impor Padres Tempo Reduzido para Desenvolvimento de Aplicaes Flexibilidade Disponibilidade de Informaes Atualizadas Economias de Escala Fatores Inibidores do Uso de SGBD Custos Investimentos iniciais elevados em hardware, software e treinamento A generalidade que um SGBD fornece para definir e processar dados Custos adicionais para fornecer segurana, controle de concorrncia, recuperao e funes de integridade Dados estticos BD e aplicaes simples, bem definidos e no se espera que sejam alterados Tempo real Overhead do SGBD Acesso monousurio Papis em um Ambiente de BD Administrador do SGBD Responsvel pela instalao e manuteno do SGBD Possui os mais altos privilgios Detm profundos conhecimentos de SO Administrador de Banco de Dados Responsvel por criar e manter BDs Possui altos privilgios nos BDs que administra Administrador de Dados Responsvel pelo ambiente de dados corporativo Usurios Leigos, iniciados, programadores, analistas Funes do Administrador do Sistema:

Instalao Autorizao Coordena com DBAs Tuning Configura servidores, sistemas de locking e logging Manuteno Pe/tira o servidor do ar Gerencia uso de disco DBA do BD master Responsvel pelos upgrades do sistema Funes do Administrador de BD (ABD): Pr-produo Responsvel pelas estruturas de armazenamento e ndices Controle da transio entre fases do desenvolvimentocargas de dados entre ambientes Produo Criar e destruir BDs Criar objetos compartilhados no BD Garantir segurana e integridade Back-up e recovery Monitoramento de desempenho Previso de necessidades futuras Funes do Administrador de Dados (AD): Modelagem de dados Definio de polticas e responsabilidades sobre os recursos de dados Estabelecimento de padres Integrao de conceitos Documentao Responsvel pela Arquitetura de Informaes da organizao AD versus ABD Administrao de Dados Planejamento conceitual e organizao dos recursos de dados Tarefas: Modelagem de dados, desenvolvimento de polticas e padres para uso e gerncia dos dados, treinamento de usurios, coordenao de atividades com projetistas de sistemas e usurios Administrao de Banco de Dados Voltada para aspectos tcnicos associados a um ambiente especfico de um sistema de gerenciamento de banco de dados Operao e manuteno fsica de um ou mais BDs. Reviso de Conceitos Modelo de Dados Utilizados para representar uma realidade Coleo de conceitos para descrever um conjunto de dados e as operaes que os manipulam Conceitos definidos em termos verbais ou grficos Em geral, possui uma notao grfica Exemplos Modelo entidade-relacionamento Entidades, relacionamentos

Modelo relacional Tabelas, registros, campos

Modelo de classes Classes, objetos, atributos

Diferentes nveis de abstrao: Modelo Conceitual: representao (o mais fiel possvel) da realidade alto-nvel de abstrao (mas no sem detalhamento) Modelo Lgico: descrio de estruturas de dados em uma forma passvel de ser processada por computador Modelo Fsico: conjunto das estruturas de armazenamento e dos mtodos de acesso aos dados. Classificao de SGBDs: Segundo o modelo (lgico e fsico) adotado para estruturao e armazenamento dos dados: Hierrquico Redes Relacional (mais popular) Relacional-objeto Orientado a Objetos XML Esquema Representao de uma poro especfica da realidade, a partir de um modelo de dados particular instncia de um modelo Coleo esttica de estruturas sintticas e/ou grficas que descrevem um certo conjunto de dados Representa uma restrio s possveis colees de dados que podem descrever uma dada realidade. Ex: Descreve uma realidade na qual existem pessoas e automveis Instncia de Esquema Coleo dinmica de dados que se conforma estrutura definida pelo esquema Representa o estado do banco de dados num instante particular Ex: possvel criar instncias de pessoas e de automveis: pessoas que esto nesta sala carros que tm autorizao para estacionar na UNIRIO

Modelo, Esquema e Instncia

Modelo o tipo do Esquema (ER, Relacional, Classes)

Instncia cada Classe do Esquema

Modelagem Conceitual de Dados


Introduo: Banco de dados uma coleo de dados relacionados. Dados so fatos que podem ser gravados e que possuem um significado impltico. BD representa aspectos do mundo real, usando como base um minimundo ou um universo de discurso (que possui um especialista). BD uma coleo lgica e coerente de dados com significado inerente. Modelagem de Dados: Vrias etapas de modelagem de dados: Projeto Conceitual; Projeto Lgico; Projeto Fsico. Relao direta com a construo de uma aplicao. Projeto Conceitual Incio do processo. Independente de questes fsicas (Em qual banco ser implementado? Como ser estrutura?) Representa da forma mais fiel possvel o domnio sendo modelado. Simples, prximo a linguagem do especialista que fonte de informao. Produto importante do projeto de construo de um banco, porm no to implementado por empresas. Projeto Lgico Passo intermedirio. Comea a representar elementos especficos de banco de dados. Elementos especficos de representao distanciam o modelo do especialista. Mapeamento a partir do projeto conceitual deve ser cuidadoso para que no haja perda de informao. Empresas normalmente iniciam sua modelagem a partir desta etapa. Projeto Fsico ltima etapa. Completamente voltado para a implementao do banco de dados em um SGBD especfico. Preocupao com infra-estrutura: qual ser o caminho do banco de dados? Qual o tamanho necessrio para armazenar as informaes? Representa elementos para otimizar o uso do SGBD (exemplo.: Indexao). Possui um conjunto de elementos especfico, que pode diferenciar de um SGBD para outro. Projeto conceitual de dados A partir da anlise de requisitos, representa o modelo de dados em alto nvel. Por no possuir elementos da implementao do BD, mais simples. Concentra na forma de representao do modo mais correto possvel aproximado do mundo real), sem restries da implementao do BD. Exemplos de modelos conceituais de dados Modelo Entidade-Relacionamento Modelo de Classes. Modelo Entidade-Relacionamento (MER) Possui elementos que permitem a representao de vrios conceitos de um minimundo. Entidades Relacionamentos Atributos Domnios Formato mais conhecido para modelagem de projetos conceituais de dados. Entidades (Conjunto de entidades) e atributos

Entidades representam objetos bsicos, com uma existncia independente. Atributos so propriedades particulares que descrevem entidades. Tipos de Atributos Compostos X Simples (Atmicos) Ex: Composto: endereo(rua, numero, complemento), Simples: nome Monovalorados X Multivalorados Ex: Armazenados X Derivados Ex: Valores Nulos Ex: Atributos complexos Ex: Atributos-Chave So atributos nicos para cada instncia de uma entidade. Identificam uma instncia de uma entidade. Domnios Conjunto de possveis valores que um atributo pode ter. Ex: (Casado, Solteiro ou Vivo) Relacionamentos Define conjunto de associaes entre entidades. Existem instncias de relacionamentos. Graus de Relacionamentos Relacionamentos normalmente so binrios: envolvem duas entidades. Podem ter grau maior: ternrio, quaternrio, etc., envolvendo mais entidades. Nomes de papis e Relacionamentos Recursivos Entidades assumem papis em um relacionamento. Relacionamento recursivo: envolvendo a mesma entidade com papis diferentes em um mesmo relacionamento. Cardinalidades de Relacionamentos Define nmero mximo de participao de instncias das entidades participantes de relacionamentos. Podem ser relacionamentos binrios com cardinalidade: 1:1 um para um; 1:N um para muitos; N:1 muitos para um; M:N muitos para muitos. Abandonado.......n mich? =P Continuarei agora! ^^ Restries de participao e Dependncias de Existncia Determina se a existncia de uma entidade depende de seu relacionamento com outra entidade Pode ser restrio parcial, que no identifica a dependncia, ou restrio total, que identifica a dependncia de existncia. Restrio estrutural identifica o mnimo e mximo de participao em uma relacionamento. Atributos de relacionamentos. Assim como entidades, relacionamentos podem possuir atributos, para registrar informaes relevantes a esses relacionamentos. Entidade Fraca Entidades que no possuem atributos chave que as identificam, sendo existencialmente dependente a outras entidades.

Sempre possui restrio de participao total. Obs.: a restrio de participao total no identifica obrigatoriamente a existncia de uma entidade fraca.

Exercicio: 1.A empresa est organizada em departamentos. Cada departamento tem um nome nico, um nmero nico e um empregado que gerencia o departamento. Temos a data em que o empregado comeou a gerenciar o departamento. E este pode ter diversas localizaes. 2.Um departamento controla um nmero qualquer de projetos, cada qual com um nico nome, um nico nmero e uma nica localizao. 3.Armazenamos o nome de cada empregado, o nmero de seguro social (SSN, igual ao CPF), endereo, salrio, sexo e data de nascimento. Um empregado est alocado a um departamento, mas pode trabalhar em diversos projetos que no so controlados, necessariamente pelo mesmo departamento. Controlamos o nmero de horas semanais que um empregado trabalha em cada projeto. Tambm controlamos o supervisor direto de cada empregado. 4.Queremos ter o controle dos dependentes de cada empregado para fins de seguro. Guardamos o primeiro nome, sexo, data de nascimento de cada dependente, e o parentesco de com o empregado.

Modelagem Conceitual - UML Unified Modeling Language(UML) apresenta um conjunto de vrios diagramas para representar vrias vises de um universo de discurso Diagrama de classes da UML apresenta uma viso semelhante ao diagrama ER. Voltado ao mundo orientado ao objeto, composto de classes, atributos, operaes, relacionamentos. Classe: conjunto de objetos descritos pelo mesmo conjunto de propriedades Ex: Aluno, Disciplina Instncia: Um objeto do mundo real, elemento de uma classe Ex: Joana Azevedo, Fundamentos de Representao de Conhecimento Abstrao por Agregao Define uma nova classe a partir de um conjunto de outras classes que representam suas partes componentes. Objetos so agregaes de objetos de outras classes. Os objetos includos em uma agregao representam as partes componentes do objeto da nova classe. Estabelece um relacionamento parte de entre a nova classe e seus membros.

Abstrao por Generalizao Define uma nova classe, a partir da abstrao das diferenas entre os objetos de duas ou mais classes. Cada classe participante um subconjunto da nova classe. As propriedades da classe mais genrica so compartilhadas pelas classes mais especficas

Relacionamentos Associaes: Estabelece um mapeamento entre os elementos de classes diferentes. Mora_em uma associao binria entre as classes pessoa e apartamento. Possui uma outra associao binria entre as classes pessoa e apartamento. Dirige uma associao binria entre as classes pessoa e automvel.

Cardinalidades: Restringe o nmero de instncias de cada classe que podem estar associadas entre si, em qualquer estado do mundo. Cada Pessoa mora em exatamente 1 Apartamento. Cada apartamento pode estar vazio ou nele podem morar vrias pessoas (Anlogo ao ER)

Elementos diferentes: ER x UML Mtodos: representam funes ligadas a uma classe.

Agregao: relacionamento que indica que uma classe faz parte de um todo maior. Composio: relacionamento que indica que uma classe faz parte de um todo maior obrigatoriamente. Especializao/Generalizao: indica que uma classe especializa/generaliza outra. Herana: quando uma classe especializa outra, ela herda os atributos e mtodos da classe geral.

Mapeamento do ER para Relacional Metodologia 1. Eliminao dos identificadores externos; Transform-los em identificadores internos no modelo relacional

2. Eliminao de atributos compostos e multivalorados;

Composto

Entidade Multivalorada

Relacionamento Multivalorado 3. Traduo de cada entidade em uma relao; Empregado (CPF, Nome, Salrio)

4. Traduo de cada relacionamento : a. relacionamentos 1:n, 1:1 podem ser modelados pela

adio de atributos s relaes j existentes. CLIENTE_CARREGAMENTO (Cdigo_Cliente, Nome, Endereo) (1:1 - Mesmo identificador)

CLIENTE (CDIGO_CLIENTE, NOME) CARTO_DE_CRDITO (TIPO_CARTO, NMERO_CARTO, LIMITE) POSSUI (TIPO_CARTO, NMERO_CARTO, CDIGO_CLIENTE) (0,1-1,1 = Uma das entidades tem participao parcial - identificadores diferentes)

HOMEM (HOM_CPF, NOME) MULHER (MLH_CPF, NOME) CASAMENTO (HOM_CPF, MLH_CPF, DATA, DURAO) (0,1-0,1 = Ambas tem participao parcial)

CIDADE (NOME_CIDADE, NOME_ESTADO, POPULAO) ESTADO (NOME_ESTADO, GOVERNADOR, POPULAO) (1,n - 1,1 = Ambas tem participao total)

VENDEDOR (NOME_VEND, TELEFONE) PEDIDO (NMERO_PEDIDO, DATA) PREENCHE (NMERO_PEDIDO, NOME_VEND, DESCONTO)

ESTUDANTE (NMERO_ESTUDANTE, NOME_ESTUDANTE) CURSO (NMERO_CURSO, NOME_CURSO) MATRCULA (NMERO_ESTUDANTE, NMERO_CURSO, SEMESTRE, GRAU) (independe da cardinalidade)

b. relacionamentos n:m requerem uma relao separada PEA (COD_PEA, DESCRIO) FORNECEDOR (COD_FORN, NOME, ENDEREO, TELEFONE) PROJETO (COD_PROJETO, NOME, DATA_ABERT) FORNECIMENTO (COD_PEA, COD_FORNECEDOR, COD_PROJETO, QTDE)

c. autorelacionamento EMPREGADO (REG_EMP, NOME, DATA_NASC) COORDENA (REG_SUB, REG_COORDENADOR)

5. Traduo de Generalizao/Especializao H duas alternativas: Fundir todas as entidades em uma nica relao Uma tabela para cada entidade especfica Fuso: Chave primria fica sendo a da entidade mais genrica Incluir uma coluna tipo Passar todos os atributos das entidades especializadas para entidade genrica Fazer o mesmo para os relacionamentos Aplicar as regras j conhecidas

EMPREGADO(codEmp, nome, tipo, crea, habilitacao, codRamo, codDepto) DEPTO (codDepto, nome, desc) SW (codSW, nome, desc) RAMOENG(codRamo, nome,desc) PROJETO (codProj, nome, desc) DOMINIO(codSW, codEmp) PARTICIPACAO (codEmp, codProj)

Exemplo
Emp (CodigoEmp,Tipo,Nome,CIC,CodigoDept,CartHabil,CREA,CodigoRamo) CodigoDept referencia Depto CodigoRamo referencia Ramo Depto (CodigoDept,Nome) Ramo (CodigoRamo,Nome) ProcessTexto (CodigoProc,Nome) Dominio (CodigoEmp,CodigoProc) CodigoEmp referencia Emp CodigoProc referencia ProcessTexto Projeto (CodigoProj,Nome) Participacao (CodigoEmp,CodigoProj) CodigoEmp referencia Emp CodigoProj referencia Projeto

Você também pode gostar