A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Manipulação de Dados

Apresentações semelhantes


Apresentação em tema: "Introdução à Manipulação de Dados"— Transcrição da apresentação:

1 Introdução à Manipulação de Dados
Teresa Romão Departamento de Informática Universidade de Évora 2005/2006 Introdução à Manipulação de Dados

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 Introdução à Manipulação de Dados

3 Bibliografia Material de suporte fornecido pelo docente
Página da disciplina na Internet: 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 Introdução à Manipulação de Dados

4 Nota final = 75%nota_teórica+25%nota_prática
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 Introdução à Manipulação de Dados

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. Introdução à Manipulação de Dados

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. Introdução à Manipulação de Dados

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

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 Introdução à Manipulação de Dados

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... Introdução à Manipulação de Dados

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 Introdução à Manipulação de Dados

11 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. Produto Nome Quantidade 30 23 8 Régua Lápis Papel 1 26 18 Silva Pereira 10 Cola 3 Introdução à Manipulação de Dados

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

13 System R project Modelo Relacional SQL query language
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 Introdução à Manipulação de Dados

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. Introdução à Manipulação de Dados

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

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 Nº de cliente Nome 6 Silva 14 Pereira 35 Santos 40 Martins Introdução à Manipulação de Dados

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 Introdução à Manipulação de Dados

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 Introdução à Manipulação de Dados

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. Introdução à Manipulação de Dados

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. Introdução à Manipulação de Dados

21 Modelo de Dados Desenho conceptual Conceitos básicos
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 Introdução à Manipulação de Dados

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. Introdução à Manipulação de Dados

23 DEA: componentes Entidades Associações Entidades associativas Cliente
Livro fornece Marcação Introdução à Manipulação de Dados

24 DEA: estrutura entidades associações entidade associativa
Introdução à Manipulação de Dados

25 Substantivo no singular
DEA: entidades Uma entidade representa qualquer coisa (objecto, conceito, facto) do mundo real sobre a qual o 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: Substantivo no singular Introdução à Manipulação de Dados

26 DEA: entidades Exemplo de entidade: Aluno 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: Aluno Introdução à Manipulação de Dados

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 Introdução à Manipulação de Dados

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

29 DEA: associações Associações múltiplas entre as mesmas entidades:
Docente lecciona Disciplina é regente Introdução à Manipulação de Dados

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 Disciplina pertence Curso Cliente compra Produto Fornecedor Introdução à Manipulação de Dados

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

32 DEA: associações Instância de uma associação:
Representa uma ocorrência de uma ligação (entre ocorrências de entidades). Exemplo: Empregado trabalha Departamento 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 Introdução à Manipulação de Dados

33 DEA: cardinalidade das associações
Livro publica Editora 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. Introdução à Manipulação de Dados

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 Introdução à Manipulação de Dados

35 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 Carta de condução tem Cliente 1 Introdução à Manipulação de Dados

36 DEA: grau máximo Exemplo: 1 N
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 Garagem tem Apartamento N Introdução à Manipulação de Dados

37 DEA: grau máximo 1 N Apartamento Garagem tem tem apartamento1 garagem1
Introdução à Manipulação de Dados

38 DEA: grau máximo Exemplo: N M
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 Livro escreve Autor M Introdução à Manipulação de Dados

39 DEA: grau máximo N M Autor Livro escreve escreve autor1 livro1
Introdução à Manipulação de Dados

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. Introdução à Manipulação de Dados

41 Se é zero diz-se opcional,
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 Doente Médico Introdução à Manipulação de Dados

42 DEA: grau mínimo Exemplo: Carta de Cliente tem condução
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 Carta de condução tem Cliente Introdução à Manipulação de Dados

43 DEA: grau mínimo Exemplo: Autor Livro escreve Autor é obrigatório:
Um autor escreve no mínimo um livro Livro é obrigatório: Todo o livro é escrito no mínimo por um autor Livro escreve Autor Introdução à Manipulação de Dados

44 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 Carta de condução tem Cliente Introdução à Manipulação de Dados

45 DEA: entidade associativa
Uma associação com atributos próprios. Produto fornece Fornecedor 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 Fornecedor Produto fornecimento Introdução à Manipulação de Dados

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. Introdução à Manipulação 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. Introdução à Manipulação de Dados

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: * Introdução à Manipulação de Dados

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 [ ] Introdução à Manipulação de Dados

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

51 Exemplo: gerir a ocupação de um hotel
Construa o modelo de dados do sistema de gestão de ocupação de um hotel descrito abaixo: Clientes = {Cliente} Cliente + nome + morada + data_nasc + (telefone) Reservas = {Reserva + n_quarto + BI} Reserva + dias_reservados + data_chegada + hora_chegada Quartos = {Quarto} Quarto + n_camas + situação + categoria + preço + descrição Facturas_pendentes = {Factura_pendente + id_reserva + BI} Factura_pendente + data + valor_total Pedidos_despertar = {Pedido_despertar + n_quarto} Pedido_despertar + data + hora Situação = [arrumado | ocupado | livre | em reparação] Introdução à Manipulação de Dados

52 Exemplo Cliente Reserva Factura pendente Quarto Pedido despertar 1 N 1
efectua Reserva 1 1 N pertence refere-se N 1 1 Factura pendente corresponde Quarto 1 faz N Pedido despertar Introdução à Manipulação de Dados


Carregar ppt "Introdução à Manipulação de Dados"

Apresentações semelhantes


Anúncios Google