1 / 52

Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt www.di.uevora.pt/~tir/IMD/IMD.htm Departamento de Informática Universidade de Évora 2005/2006. Funcionamento da disciplina. Duração: 7 semanas Aulas teórico-práticas: apresentação da matéria

Download Presentation

Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt www.di.uevora.pt/~tir/IMD/IMD.htm Departamento de Informática Universidade de Évora 2005/2006

  2. Funcionamento da disciplina • Duração: 7 semanas • Aulas teórico-práticas: • apresentação da matéria • aplicação dos conceitos através de exercícios práticos

  3. Bibliografia • Material de suporte fornecido pelo docente • Página da disciplina na Internet: http://www.di.uevora.pt/~tir/IMD/IMD.htm • Livros da biblioteca da Universidade de Évora sobre o Microsoft Excel • Modern Structured Analysis, Edward Yourdon Prentice-Hall, 1989 • Database System Concepts de Silberschatz, Korth e Sudarshan

  4. Avaliação • O aluno obtém a nota prática através da execução de 1 trabalho práctico proposto para avaliação, nas aulas práctcas. O trabalho poderá estar sujeito a discussão formal com o(s) docente(s) da disciplina e é obrigatório (um aluno que não entregue o trabalho ou obtenha no mesmo uma nota inferior a 8 valores fica reprovado). • O aluno pode obter a nota teórica de duas formas possíveis: • Teste • Exame • Nota mínima exigida: 8 valores • A nota final é dada pela fórmula: • Nota final = 75%nota_teórica+25%nota_prática

  5. Introdução aos Sistemas de Base de Dados Base de dados • Colecção de dados relacionados. Sistema de Gestão de Base de Dados • Aplicação que mantém e gere de forma eficiente uma base de dados; • São normalmente usados para gerir grandes quantidades de informação e permitir o acesso rápido a essa mesma informação.

  6. Introdução aos Sistemas de Base de Dados SGBD devem: • Facilitar o acesso aos dados; • Evitar redundância e inconsistência; • Permitir múltiplos acessos simultâneos aos dados; • Garantir a segurança dos dados; • Garantir a integridade dos dados de acordo com restrições pré-definidas.

  7. Esquema externo/Vista 1 Esquema externo/Vista 2 Esquema externo/Vista 3 Nível conceptual-lógico Nível físico Disco Níveis de abstracção de um SGBD

  8. Níveis de abstracção de um SGBD • Nível físico • Descreve a forma de armazenamento nos periféricos (discos) das relações descritas no modelo conceptual • Estruturas de dados de baixo nível • Nível conceptual-lógico • Descreve os dados em termos do modelo • Baseia-se nas funcionalidades e restrições dos dados • Descrição das relações existentes na BD • Estruturas simples => estruturas complexas no nível físico • Nível usado pelos administradores de BD

  9. Níveis de abstracção de um SGBD • Esquema externo/Vista • Permite a customização (e autorização) do acesso aos dados, a nível do utilizador ou grupos de utilizadores • É guiado pelos requisitos do utilizador final • O nível conceptual ainda pode ser complexo para o vulgar utilizador devido ao tamanho da BD e o utilizador apenas quer ver a parte que lhe interessa. • Enquanto só existe um esquema lógico e físico, podem existir vários esquemas externos ou vistas...

  10. História • IDS: Integrated Data Source • Charles Bachman, General Electric, início década 60 • modelo de dados em rede • IMS: Information Management System • IBM, fim década 60 • modelo de dados hierárquico • System R project • Edgar Codd, IBM, 1970 • modelo de dados relacional

  11. 30 23 8 Régua Lápis Papel 1 26 18 Silva Pereira Produto Nome Quantidade 10 Cola 3 Modelo de dados em Rede • Os dados representados por um conjunto de registos (tipo Pascal). As relações entre dados são mantidas por links (pointers). • Assim, os registos da BD estão organizados em conjuntos de grafos.

  12. 8 10 23 8 30 23 Cola Papel Lápis Papel Régua Lápis 10 3 6 8 1 20 Silva Pereira Produto Nome Quantidade Modelo de dados hierárquico • Difere do Modelo de Rede: os registos estão organizados em conjuntos de árvores (em vez de grafos).

  13. System R project • Modelo Relacional • modelo de organização e ligação de dados • SQL query language • linguagem para obter informação da BD • actualmente: SQL-92 • standard ANSI, ISO

  14. Modelo Relacional • Usa uma colecção de tabelas para representar dados e relações entre eles. • Cada tabela possui diversas colunas • Cada coluna corresponde a um atributo (de um dado tipo) • Cada linha da tabela corresponde a um registo (conjunto de valores dos diversos atributos) • Cada registo é identificado por um atributo (ou conjunto de atributos) único.

  15. Nº de cliente Nº de cliente Nº de produto Nome Designação Nº de produto Quantidade 6 6 Silva 8 10 8 Papel 14 14 Pereira 10 3 10 Cola 6 35 Santos 23 6 23 Lápis Compras 40 6 Martins 30 1 Clientes Produtos 30 Régua 14 8 8 35 10 2 40 30 3 14 23 20 Modelo Relacional • Três tabelas: Clientes, Produtos e Compras • A tabela Compras estabelece a relação entre clientes e produtos

  16. Modelo Relacional • Tabela “Clientes”: • Dois atributos (colunas) - nº e nome - que permitem descrever cada cliente; • Cada registo (linha) corresponde a um cliente caracterizado pelos valores que possui para cada atributo (e identificado univocamente, neste caso, através do atributo “nº de cliente”) Clientes

  17. Desenho de uma Base de Dados • Análise de requisitos • Saber que dados devem ser mantidos na BD • Conhecer os requisitos dos utilizadores • Desenho conceptual • Desenvolver uma descrição de alto nível dos dados e das restrições conhecidas sobre os mesmos • Modelo Entidade-Associação

  18. Desenho de uma Base de Dados • Desenho lógico • Converter o modelo conceptual para um esquema de BD no modelo do SGBD escolhido • modelo Relacional • Refinamento do esquema • Refinar a BD através da análise da colecção de relações, identificando potenciais problemas • normalização

  19. Desenho de uma Base de Dados • Desenho físico • Refinar a BD para ir de encontro aos critérios de performance desejados • Desenho de segurança • Identificar diferentes grupos de utilizadores e seus papéis. Para cada um, saber a que partes da BD pode ou não aceder e assegurar que apenas acede às partes necessárias.

  20. Modelo de Dados • Análise • Para determinar os requisitos dos utilizadores várias técnicas podem ser utilizadas: • análise de documentação, • entrevistas, • questionários, • observação do comportamento dos utilizadores e da organização, • prototipagem.

  21. Modelo de Dados • Desenho conceptual • Descreve os dados em termos dos objectos e suas associações • Representação gráfica: diagrama de Entidades e Associações (DEA) • Conceitos básicos • Entidade • Associação • Atributo • Chave • Restrições de mapeamento

  22. Diagrama de Entidades e Associações (DEA) • Um DEA é um modelo que representa a visão estática dos dados e das associações entre eles. • Um DEA identifica: • as entidades do sistema; • as associações entre os dados; • as características dos dados e das associações.

  23. fornece Marcação DEA: componentes • Entidades • Associações • Entidades associativas Cliente Livro

  24. DEA: estrutura entidades associações entidade associativa

  25. Substantivo no singular DEA: entidades Uma entidade representa qualquer coisa (objecto, conceito, facto) do mundo real sobre a qualo sistema deve guardar informação. Cada entidade é definida por: • Atributos: propriedade caracterizadora de uma entidade. (Item elementar de informação). É sempre um elemento atómico de informação. • Atributo(s) identificadore(s): elemento de dados que identifica univocamente cada instância (membro individual) da entidade; • Atributo(s) descritor(es): elemento de dados que define uma propriedade da entidade. • Cada entidade é identificada por:

  26. DEA: entidades • Exemplo de entidade: • Atributo identificador: • número_de_aluno • Atributos descritores: • nome, morada, telefone, data_nascimento, n_BI • Exemplo de instância: • número_de_aluno: 2834 • nome: João Santos • morada: Évora • data_nascimento: 28/4/1972 • n_BI: 8256394 Aluno

  27. DEA: associações Uma associação representa um conjunto de ligações (relação) entre entidades que necessitam ser guardadas pelo sistema. A associação é caracterizada pela conjunção dos atributos identificadores das entidades envolvidas. Cada associação é identificada por: Verbo + substantivo

  28. DEA: associações • Exemplo de associação: • Aluno está inscrito em disciplina • Discplina pertence a curso Disciplina Aluno está inscrito Curso Disciplina pertence Por defeito, todas as associações são bidireccionais.

  29. DEA: associações Associações múltiplas entre as mesmas entidades: Disciplina Docente lecciona é regente

  30. DEA: associações • Tipos de associação: • Unária: relação entre uma entidade e ela própria. • Binária: relação entre duas entidades. • Complexas: relação entre três ou mais entidades. Pessoa é pai Curso Disciplina pertence Produto Cliente compra Fornecedor

  31. DEA: associações Uma associação complexa pode reduzir-se a várias associações binárias. Exemplo: Produto Cliente compra Fornecedor Associação complexa Produto Cliente Compra faz é para fornecida Associações binárias Fornecedor

  32. DEA: associações Instância de uma associação: Representa uma ocorrência de uma ligação (entre ocorrências de entidades). Exemplo: Departamento Empregado trabalha Instâncias Instâncias Instância de Empregado de Trabalha de Departamento E1 D1 E2 D2 E3 D3 E4 4 instâncias de Empregado 3 instâncias de Departamento 4 instâncias da associação Trabalha

  33. Livro Editora publica DEA: cardinalidade das associações • Será que uma editora pode publicar vários livros? • Será que uma editora pode nunca ter publicado um livro? • Será que um livro pode ser publicado por uma editora, por nenhuma ou por várias editoras? As respostas a estas perguntas são definidas pela política da organização. Devemos completar as associações do DEA com a respectiva cardinalidade.

  34. DEA: cardinalidade das associações A cardinalidade define os graus máximo e mínimo de uma associação. • O grau máximo (restrição de cardinalidade) de uma associação pode ser: • O grau mínimo (restrição de participação) de uma associação pode ser: • 1 : 1 • 1 : N • N : M • 0 : 0 • 0 : 1 • 1 : 1

  35. Carta de condução Cliente tem DEA: grau máximo O grau máximo define o número máximo de vezes que uma instância de uma entidade pode ocorrer na associação. • Exemplo: • Uma instância de Cliente pode ocorrer no máximo uma vez • Um Cliente tem zero ou uma carta de condução • Uma instância de Carta de condução pode ocorrer no máximo uma vez • Uma Carta de condução pertence a um Cliente 1 1

  36. Garagem Apartamento tem DEA: grau máximo • Exemplo: • Uma instância de Garagem pode ocorrer no máximo uma vez • Uma Garagem pertence a zero ou um Apartamento • Uma instância de Apartamento pode ocorrer muitas vezes (N) • Um Apartamento pode ter zero, uma ou mais Garagens 1 N

  37. Garagem Apartamento tem DEA: grau máximo 1 N tem apartamento1 garagem1 apartamento2 garagem2 apartamento3 garagem3 garagem4

  38. Livro Autor escreve DEA: grau máximo • Exemplo: • Uma instância de Autor pode ocorrer no máximo N vezes • Um Autor escreve zero, um ou mais Livros • Uma instância de Livro pode ocorrer no máximo M vezes • Um Livro pode ser escrito por zero, um ou mais Autores N M

  39. Livro Autor escreve DEA: grau máximo N M escreve autor1 livro1 autor2 livro2 autor3 livro3 autor4 livro4 autor5 livro5

  40. DEA: grau mínimo • Uma entidade pode ou não participar numa associação. • Obrigatória: não existe nenhuma ocorrência que não esteja associada a uma ocorrência da outra entidade. • Opcional: pode haver ocorrências que não estejam associadas a ocorrências na outra entidade. A obrigatoriedade de ocorrência da entidade está relacionada com o grau mínimo da associação. O estudo do grau mínimo não invalida o do grau máximo, complementa-o.

  41. Doente Médico DEA: grau mínimo O grau mínimo define o número mínimo de vezes que uma instância de uma entidade pode ocorrer na associação. Se é zero diz-se opcional, se é um diz-se obrigatória. • Exemplo: • Médico é opcional: • Um doente pode não ter médico de família • Doente é opcional: • Um médico pode não ser médico de família de nenhum doente é médico de família

  42. Carta de condução Cliente tem DEA: grau mínimo • Exemplo: • Carta de condução é opcional: • Um dado cliente pode não ter carta de condução • Cliente é obrigatório: • Uma carta de condução pertence no mínimo a um cliente

  43. Livro Autor escreve DEA: grau mínimo • Exemplo: • Autor é obrigatório: • Um autor escreve no mínimo um livro • Livro é obrigatório: • Todo o livro é escrito no mínimo por um autor

  44. Carta de condução Cliente tem DEA: graus máximo e mínimo • Exemplo: • Um dado cliente pode não ter carta de condução e tem no máximo uma carta de condução. • Uma carta de condução pertence a um e um só cliente. 1 1

  45. Produto Fornecedor fornece DEA: entidade associativa Uma associação com atributos próprios. • A associação acima para além de indicar: • quais os fornecedores de um produto e • quais os produtos fornecidos por um fornecedor, • poderá também conter • a quantidade de produto fornecida entidade associativa Produto Fornecedor fornecimento

  46. Construção do DEA • Identificar as entidades • Identificar associações entre entidades • Identificar os atributos identificadores e os atributos descritores de cada entidade • Completar os graus máximos e mínimos das associações • Inserir a descrição das entidades e associações no dicionário de dados.

  47. Dicionário de dados O dicionário de dados é uma ferramenta que permite descrever, com algum rigor, os elementos de dados do sistema. • A definição de um elemento de dados inclui: • a composição do elemento, caso seja composto por outros elementos, ou os valores que esse elemento pode tomar, caso seja atómico; • o significado do elemento, apresentado em comentários. • O dicionário de dados é uma ferramenta textual de apoio à análise e desenho.

  48. Dicionário de dados Um elemento atómico é aquele cuja decomposição não faz sentido no contexto do sistema. Em certos casos é necessário acordar com o utilizador se um elemento de informação é atómico ou necessita de uma maior decomposição. Por exemplo, o termo nome pode ser decomposto em nome_próprio e apelido. Mas em determinados sistemas essa decomposição pode não ser necessária, relevante, nem mesmo significativa. Muitas vezes o significado dos elementos atómicos é óbvio. Neste caso, não é necessário especificá-lo. Exemplo: data de nascimento, nº de telemóvel. Pode no entanto se necessário especificar os valores que esse elemento pode tomar ou as suas unidades de medida. Exemplo: altura = ** *unidades: cm; intervalo: 150-210*

  49. Dicionário de dados Notação: = é composto de + e ( ) opcional LimInf{}LimSup iteração ou conjunto [ ] alternativa * * comentários @ identificador (chave) de um depósito de dados e entidade | separador de opções alternativas na construção [ ]

  50. Dicionário de dados Exemplo: Filmes = {Filme} Filme = @código_filme + nome + realizador + (actor principal) + situação situação = [“alugado” | “disponível”] * indica se o filme está alugado ou se está disponível *

More Related