Prévia do material em texto
>>> MODELOS DE DADOS/ REQUISITOS PARA MODELAGEM >ABSTRAÇÃO: nao precisa representar a realidade inteira em sua completude, vai tirar dela o que é relevante e resolver aquele problema utilizando as variaveis que sao relevantes; >MODELO: representar de forma simplificada o mundo real >MODELOS DE DADOS: Descrever os dados, os relacionamentos entre eles, quais seus significados e as restrições impostas a eles >MODELAGEM: atividade da qual se cria o modelo; onde o banco de dados é projetado pensando em todas as funcionalidades que o SGBD poderá ter e assim aproveitar melhor tanto o banco de dados quanto o SGBD, criando um banco de dados eficiente; >MODELAGEM DE DADOS: Quais os dados que vao necessitar para tirar informacoes deles e os tipos de informações que serao retiradas; >>REQUISITOS >Entender a realidade em questao, entender o problema do cliente e tirar dali o que é relevante >Representar formalmente a realidade analisada, construir o modelo de dados >Estruturar o modelo obtido para adequar ao SGBD ……………………………... >>> CICLO DE VIDA E PROJETO DE BANCO DE DADOS >Etapas de desenvolvimento de um banco de dados >Levantamento de requisitos: o que o cliente vai precisar no banco de dados dele e o que ele vai precisar tirar desse banco de dados >entendimento do problema e levantamento das necessidades dos usuarios >Projeto Conceitual: descreve o conteudo das informacoes do BD ao inves das estruturas de armazenamento; >um modelo que seja de facil entendimento para o cliente poder dizer o que ele quer com aquilo; alto nível de abstração, é pra desenhar mermo sem explicar os termos técnicos >Projeto Logico: descreve a estrutura do bd que vai ser gerenciada pelo sgbd >dizer quais tabela, quais conteudo da tabela, coisas reais, palatáveis >nao depende de um sgbd, depende apenas o modelo de dados que vai usar >chegar o modelo conceitual, aqui DEPENDE DO MODELO DE DADOS adotado pelo SGBD que foi escolhido >Projeto Fisico: descreve estrutura basica e fisica do bd que vai ser gerenciado pelo sgbd, nesse momento o banco de dados vai ser BASEADO no TIPO DE SOFTWARE (não ainda da marca, mas do tipo mesmo) de gerenciamento que esscolheu >momento de implementação real do banco de dados, o HD o mainframe e etc >explicar indices, forma de acesso a esses dados, aqui DEPENDE DO SGBD que será utilizado, qual software foi escolhido, DEPENDE DA MARCA DO SGBD; >>ETAPAS DO PROJETO DE UM SISTEMA BASEADO EM BANCO DE DADOS ………………………………. >>>PRINCIPAIS MODELOS >BASEADO EM OBJETOS >mais proximo do nivel de entendimento do cliente, proximo do modelo/projeto conceitual >o principal é o MODELO DE ENTIDADE RELACIONAMENTO - MER (Peter Chen) >BASEADO EM REGISTROS >mais proximo do nivel de entendimento do cliente, diferente do outro esse aqui cuida da implementação, já vai especificar estrutura logica do BD, já ta mais proximo de usar um sotware pra implementar o modelo >o principal modelo é o MODELO RELACIONAL mas tambem tem esses: >hierarquico >rede >BASEADOS E DADOS FÍSICOS (nao estudados no curso) >descrever os dados a nivel do especialista; >os principais são MODELO UNIFICADO e o de PARTICAO DE MEMORIA …………………………………… >>>MODELOS BASEADOS EM OBJETOS >MODELO DE ENTIDADE DE RELACIONAMENTO - MER >introduzido por PETER CHEN EM 76 >CONCEITUAL >Baseado na percepcao do mundo real que constiste em um conjunto de OBJETOS básicos chamados de ENTIDADES e nos relacionamento entre esses objetos >Deve ser fácil para representar a empresa como ela é para o cliente >O projetista/programador, identifica essas ditas entidades e os relacionamentos entre elas (vê quais os dados que o BD vai ter e como eles vao se linkar) usando uma técnica diagramática chamade de DER - DIAGRAMA-ENTIDADE-RELACIONAMENTO >Nesse momento o programador usa o ponto de vista da empresa como um todo e nao a visão de um programador de aplicação específico; >Caracteristicas: >visual, é pra burro entender mesmo >fácil interpretação, como disse acima ai >pouco formal ou matematico >nivel conceitual de banco de dados …………………………………………………………….. >DIAGRAMA ENTIDADE RELACIONAMENTO - DER >expressar graficamente a estrutura lógica de um banco de dados >componentes: >retangulos: conjuntos-entidade (tipo, alunos, professores etc) >elipses: atributos (nome do aluno, matricula do professor) as caracteristicas das entidades >losangos: relacionamento entre os conjuntos e entidade (o aluno faz a aula daquele professor? se fizer são representados por losangos, tipo na hr de puxar uma lista de presença daquele prof o sistema vai fazer uma lista dos alunos que fazem aquela aula) >linhas: ligam atributos a conjuntos-entidade e conjunto-entidade a relacionamentos exemplo: >TIPOS DE OBJETOS DIAGRAMA E-R >Entidade: representa um objeto real que é caracterizada por uma série de atributos >Atributo: o que identifica a entidade >Domíno: onde estão definidos os valores de atributos (quais os caracteres que eu posso botar no atributo da entidade? tipo o que posso botar pra representar o nome do sujeito? as letras do alfabeto) >Chave: um campo que permite voce identificar alguns elementos que fazem parte APENAS daquela entidade, tipo, no banco de dados podemos usar os atributos - nomes - para buscar, mas se formos direto no cpf vamos achar a pessoa certinho, o cpf portanto é uma chave >Relacionamento: associação entre entidades …………………………………... >TIPOS DE OBJETOS DE UM DER - ENTIDADE >Elemento de existencia propria. Representa algo que existe no mundo real; É representada por um conjunto de atributos; >Pode ser identificada de forma univoca; é preciso que seja possível utilizar uma unica coisa para identificar essa coisa de forma particular, tipo o cpf pra identificar o contribuinte; >a entidade pode ser concreta ou abstrata como um emprestimo, viagem ou um conceito; >entidade, portanto, é um conjunto de objetos, para se referir a um objeto em particular os termos usados sao INSTANCIA ou OCORRENCIA >Entidades de um mesmo tipo sao agrupadas em classes de entidades; Assim, por exemplo, a classe de entidade corpo discente é o conjunto de todas as instancias/ocorrencias (nomes de todos de forma particular) professores da instituição > >REGRAS PARA OS NOMES DE UMA ENTIDADE: >Deve ser um ou mais substantivos >Se nome composto usar underline _ >Escrito em letra maiuscula >Singular >NÃO USAR PREPOSIÇÕES (de, da) ……………………………………………………. >>>>TIPOS DE ENTIDADES: FORTE-FRACA >Forte: >possui alto grau de independencia >nao precisa de nenhuma outra para existir >principal componente sem o qual os outros nao existe; >exemplos: em um sistema academico, as entidades aluno e curso sao fortes, pois a entidade aluno se nao existisse a curso poderia existir de toda forma >Fraca: >existentecia depende de outra >dependente >ex: a entidade agencia nao pode existir sem a entidade forte banco, pois uma agencia só existe se tiver banco >Associativa: >o relacionamento deve ser representado como uma entidade; >as entidades se relacionam entre si, contudo, algumas vezes, o relacionamento entre essas entidades gera outra relacao, no caso do medico, a relacao consulta que existe entre as entidades medico e paciente gera a relacao prescricao, atraves da qual o medico atuirá àquela entidade (paciente) o medicamento, outra entidade; >Agregada: nao estudada nesse curso; ……………………………………………………. >>>>TIPO DE OBJETOS DE UM DER - ATRIBUTOS >Representacao de uma entidade, ou conjunto de coisas que representam uma entidade, como por exemplo, cpf cidade endereço e etc >para cada atributo existe um conjunto de valores permitidos chamados de DOMÍNIO daquele atributo; >Dominio: as letras do alfabeto para dizer o nome da entidade ou os numeros que representem contas e etc >Sao sempre associadosa uma entidade ou um relacionamento; todo valor de um de um atributo é extraido de um dominio; >Podem ser: >Descritivo: caracteristicas intrinsecas dos objetos >Nominativos: além de descreverem servem como definidores de nomes ou rotulos de identificacao dos objetos (nome, matricula, sigla) >Referenciasi: representam umacitação ou ligacao do objeto em questao com outro objeto, não dizendo as caracteristicas mas sim um relacionamento entre si; >Tipos de Atributos são: >simples/atomicos: aquele que nao é divisível (tipo nome do cliente, cpf, peso); >composto: mais de um atributo; (tipo endereço, que tem rua, cidade, bairro etc); assim podem ser dividos em partes menores que representam atributos basicos; >formam HIERARQUIA (árvore), por exemplo, se pensarmos no atributo endereço que é composto há, país-estado-cidade-bairro-rua-numero-unidade; >monovalorado: possui apenas um valor para entidade; por exemplo a idade, só é possível ter ma idade então esse valor é único; >multivalorado: possui mais de um valor, por exemplo o telefone que a pessoa pode ter mais de um; >derivado: o seu conteudo depende do conteudo de outros atributos, por exemplo, a idade depende do atributo data de nascimento; >nao derivado: quer dizer que nao pode ser obtido atraves de outos atributos, por exemplo a data de nascimento nao pode ser inferida atraves da idade, o ano até sabe mas o dia e mes não; >determinante: indica de forma unica uma instancia em uma entidade, ou seja, nao pode haver dados repetidos; por exemplo, o cpf ou matricula nao existindo dois iguais >sao as chaves primarias do banco de dados >implicam na normalização >preenchimento obrigatorio >Nao determinante: nao identifica univocamente uma entidade, por exemplo, o atributo nome nao identifica o aluno em si pois existem os homonimos; >Algumas pontuações a respeito dos atributos: >Nem todo monovalorado é determinante, mas TODO DETERMINANTE é monovalorado; por exemplo >Atributo nulo (NULL): em alguns casos, a entidade nao percisa de um valor aplicavel a seus atributos, dessa forma, seu cadastro/escrita passará a ser opcional, por exemplo, em um cadastro de endereço o atributo numero-apartamento apenas será necessario se a entidade pessoa morar em um predio; >zero é diferente de null (ausencia de informacao); …………………………………………….. >>>>TIPOS DE OBJETOS DE UM DER-RELACIONAMENTO >as entidades nao existem sozihnhas, elas se relacionam da mesma forma no mundo real ja que o BD é uma mini representacao do mundo real >Conceito: Associação entre entidades sobre a qual deseja-se manter informações no banco de dados. >representam fatos ou situacoes da realidade >um dado por si so nao tem sentido. é preciso que haja uma associação para que a informacao seja obtida nao adianta ter o elemento funcionario só, é preciso atrelar ao departamento que trabalha, horario que pega etc >representador por xoxotas/losangos >POSSUEM ATRIBUTOS TAMBÉM; >normalmente substantivos são entidades e verbos sao relacionamentos; …………………………………………….. >>>>RELACIONAMENTOS-TIPOS DE ASSOCIAÇÕES >Sao formas como as entidades se relacionam num determinado modelo de informacao; Podem ser: >unárias: associam uma entidade a ela propria (auto relacionamento) >exemplo: equipe de esporte joga com equipe, mesmo sendo outras equipes mas a entidade é uma só, equipe >binárias: associam duas entidades diferentes >exemplo: um professor ensina determinada disciplina (normalmente) assim, a relação entre as entidades professor e disciplina são o verbo ensinar; >complexas/n-árias: associam mais de duas entidades diferentes >exemplo: as entidades aluno professor e disciplina se relacionam pelo verbo ter, pois o aluno tem aula com certo professor que por sua vez tem a obrigatoriedade de ensinar essa disciplina a esse aluno ………………………………………………. >>>>CARDINALIDADE - GRAU DE UM RELACIONAMENTO >Conceito: a cardinalidade de uma entidade num relacionamento entre entidades expressa o número de instancias, ou seja, de ocorrencias únicas que podem ser associadas a uma certa instancia da entidade relacionada; NUMERO DE OCORRENCIAS ENTRE DUAS ENTIDADES; >Cardinalidade mínima: numero minimo de ocorrencias da entidade associada que devem se relacionar com uma instancia em questao >Cardinalidade maxima: numero maximo de instancias que devem se relacionar; >A relacao por exemplo entre um departamento e um funcionário é a alocação, se ele é alocado ou nao naquele departamento. Assim, um departamento por ter n funcionarios mas cada departamento so pode ter um empregado de uma vez; >>>GRAU DE RELACIONAMENTO >participacao maxima de cada uma das associacoes em que esta ligada. Esse INDEPENDE do tipo de associação (se unaria, se binaria etc) >Classificações: >1:1 uma instancia se relaciona apenas com uma ocorrencia >1:n uma instancia pode se relacionar com varias ocorrencias >n:n varias ocorrencias podem se relacionar de varias maneiras >>>SIMBOLOS UTILIZADOS NO MODELO DE ENTIDADE RELACIONAMENTO PARA AMOSTRAGEM DE BANCO DE DADOS ……………………………………………….. >>>>MODELO BASEADO EM REGISTROS: MODELO RELACIONAL >DEFINIÇÃO: MAPEAMENTO DO MER para modelo relacional >modelo mais usado ultimamente >Modelo baseado em registros: usado na descricao de dados nos niveis conceitual e visual; especifica a estrutura lógica de como vai funcionar o banco de dados e já explica com mais termos tecnicos e para pessoas capacitadas como funcionará a implementação desse BD; >Principais modelos: >Relacional >Hierarquico >Rede >>O MODELO RELACIONAL: trabalha com tabelas e os relcionamentos entre elas. Para cada entidade e cada relacionamento tem sua tabela unica; >A passagem do MER para o RELACIONAL (daquele que se baseia em objetos, o objeto entidade objeto relacionamento e tal) é chamado de mapemento do mer para o relacional >Neste tipo de modelo a tabela é composta por linhas (tuplas) e colunas (atributos) >Os relacionamentos tambem sao representados por tabelas ou pela reproducao dos valores de atributos dessa daqui pra essa >> >as colunas vao ter agora os atributos das entidades e do relacionamento, e cada um desses objetos vai ter sua tabela propria e, depois, essas tabelas vao ser unificadas e ligadas entre si; >para relacionar essas informacoes, neste exemplo, basta observar as cores das colunas em comum, assim, o fornecedor se liga com o pedido atraves de seu codigo e o produto a mesma coisa. ESTE TIPO DE MODELO JÁ É POSSÍVEL SER IMPLEMENTADO NUM SISTEMA GERENCIADOR DE BANCO DE DADOS. ………………………………. >>>>ABORDAGEM RELACIONAL - TERMINOLOGIA-TABELAS-GRAU E ORDEM >ar: consiste em dizer que as informacoes em um bd podem ser consideradas como relacoes matematicas, representadas de maneira uniforme atraves do uso de tabelas. >coloca os dados nas estruturas mais simples de armanzenar dados, que sao as tabelas >Conceito principal: partindo da algebra relacional (aquela teoria dos conjuntos das bolas que se interceptam da matemacia) atrelada a ideia do que é que o usuario precisa e nao precisa saber pra acessar e entender os dados >usuarios e relacao entre a abordagem relacional: >manipulam objetos dispostos em linhas e colunas das tabelas >lidam com os objetos usando um conjunto de operadores e funcoes de alto nivel da algebra relacional >os comandos pra manipular os bancos de dados >terminologia: >tabela = relação >linha = tupla = registro >coluna = atribiuto = campo >dominio = metadado da coluna, dado que descreve o que tipo de coluna é >>>BANCO DE DADOS RELACIONAL >CONCEITO: uma coleção de tabelas cada qual designada por um nome único >>>TABELA: Conjunto nao ordenado de linhas, cada linha é composta por um conjunto de campos e cada campo é identificado por um nome único >>EM UM BANCO DE DADOS RELACIONAL, OS DADOS FICAM ARMAZENADOS EM TABELAS! >>>CARACTERISTICAS DAS TABELAS 1. cada tabela tem um nome proprio pelo qual ela é referenciada 2. cada tabela contem um numero fixo de colunas 3. os graus da tabela nada mais sao que os numeros de colunas que a tabela tem 4. cardinalidade das tabelas é o numero de linhas que a tabela possuio 5. nao existe linhas iguais 6. a ordem das linhas é irrelevante, sendo a informacao identificada por sua chave primaria (cpf, matricula, um dado que identifica univocamente a entidade) 7. cada coluna tem um nome proprio 8. a ordem das colunas é irrelevante, sendo ela identificada por seu nome 9. cada colunacontem valores atomicos (não permite normalização) 10. cada valor de coluna é extraido de um determinado dominio 11. duas ou mais colunas podem ser definidas sobre um mesmo dominio 12. operacoes sobre colunas diferentes exigem que as colunas pertençam ao mesmo domínio, ou seja, ambas usem numeros, ambas usem letras e etc 13. conexao entre tabelas ocorrem atraves de chaves estrangeiras, que é o campo que ocorre em mais de uma tabela e, por meio desse campo é possível fazer a conexao entre elas; ………………………………………………………………….. >>>>CHAVES: >>Campo que se utiliza pra buscar uma informacao;; atributo que se busca para encontrar uma informacao; >conjunto de um ou mais campos de uma tabela que pde ser utilizado para realizacao de qualquer operacao que envolva atributos e valores de atributos >>Tipos de chaves: >Chave Primaria: campo ou conjunto de campos que identificam de forma exclusiva cada registro/tupla; >nao pode ter repeticao >nao pode ser nula >Podem ser: >Simples: um só atributo (tipo cpf) >cpf, matricula, titulo >Composta: dois ou mais atributos >o exemplo do empregado que tem dois dependentes, se fosse identificar o dependente pelo empregado nao conseguiria identificar unovicamente o dependente; >Chave Estrangeira: campo de uma tabela que é CHAVE PRIMATIA de outra tabela; usada para definir o relacionamento entre duas tabelas; >pode ser nula >pode ser repetida desde que tenha o mesmo tipo de dado da chave primaria da outra tabela >Chave Candidata: uma relação pode ter varias chaves que podem identificar de forma unica uma tupla/linha. Sao candidatas a chave primaria >entre elas uma é escolhida pelo dba para ser primaria mas, mesmo que as outras nao sejam primarias ainda podem ser usadas pra identificar de forma unica a tupla >Chave Alternativa: campo de uma tabela que tambem pode ser usada como chave primaria ……………………………………………………………………… >>NORMALIZAÇÃO 1ª FORMA >Regras de desenho de um bd que permite um armazenamento consistente (sem redundancias ou erros) e um eficiente (rapido) acesso aos dados. >Principais objetivos: >eliminar redundancias >diminuir inconsistencias >dar maior performance as pesquisas >reduzir necessidade de reestruturar o bd quando precisa incluir outros dados >semantica clara dos atributos; seus significados devem ser extremamente claros. >Formas normais: regras que dizem como as colunas podem ser organizadas de forma eficiente. As formas são 5, a 4ª e 5ª não serão estudadas aqui. >1FN: os atributos são atômicos (indivisiveis), univalorados. ………………………………………………………………………. >>NORMALIZAÇÃO 2ª E 3ª FORMA >2FN: assim considerada se: >estiver na 1fn; deve atender a primeira forma normal >os atributos que nao pertencerem a chave dependem dela atraves de uma dependencia funcional elementar, ou seja, dependem dela por completo e nao apenas de um de seus atributos; >3FN: assim considerada se: >estiver na 2fn que esta em acordo com a 1fn >nenhum atributo nao chave depende funcionalmente de outro atributo que nao seja chave. Ou seja, todos os atributos nao chave dependem funcionalmente apenas dessa chave;’ >NORMALIZAÇÃO APÓS AS 3 FASES as cores identificam como as tabelas se relacionam, visto que trata-se de um modelo relacional >Um modelo que respeite estas formas normais estao adequadas para serem implementadas num SGBD. >O objetivo da normalizacao de dados durante um projeto de banco de dados é prover um armazenamento consistente, o que evita redundancia de dados e anomalias de manipulacao de dados. …………………………………………………………………………………………………………… anki ^^