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

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

BANCO DE DADOS - CONCEITOS Arquiteturas de Banco de dados Projeto de banco de dados Modelo relacional Algebra relacional ASSUNTOS TRATADOS.

Apresentações semelhantes


Apresentação em tema: "BANCO DE DADOS - CONCEITOS Arquiteturas de Banco de dados Projeto de banco de dados Modelo relacional Algebra relacional ASSUNTOS TRATADOS."— Transcrição da apresentação:

1 BANCO DE DADOS - CONCEITOS Arquiteturas de Banco de dados Projeto de banco de dados Modelo relacional Algebra relacional ASSUNTOS TRATADOS

2 BANCO DE DADOS - CONCEITOS Modelos de redes Dependente (pedro, filho, )( ) ( ) ( ) Empregado (luiz, Rua xxxx, )( ) ( ) ( ) Dependente (pedro, filho, )( ) ( ) Dependente (pedro, filho, )( ) ( ) ( ) Os registros tem endereços fisicos para serem usados nas estruturas de navegaçao

3 BANCO DE DADOS - CONCEITOS Criação do grupo CODASYL - padronização - padronização das estruturas de navegação - abordagem po niveis de abstração modelo ANSI/SPARC (American National Standards Institute) SPARC (Standards Planning And Requirements Committee). - Modelo duro para alteraçoes e de alta performace de acesso.

4 BANCO DE DADO CONCEITOS Fundamentado na teoria de conjuntos, combinado com a idéia que não é relevante para o usuário saber onde os dados estão nem como os dados estão armazenados. O usuário, para lidar com estes objetos, conta com um conjunto de operadores e funções de alto nível, constantes na álgebra relacional. Definição Matemática de Relação Sejam conjuntos, não necessariamente disjuntos D 1, D 2,..., D n de valores atômicos R é uma relação sobre estes conjuntos (domínios de R), se e somente se R é um conjunto de n-uplas (tuplas) ordenadas, tal que para i=1,2,...,n di pertence a Di Exemplo: A = {1, 2, 3, 4, 5} B = {2, 3, 4, 6, 7} R = B é o dobro de A R = {(2,1), (4,2), (6,3)}

5 Modelo Relacional Relação = Tabela bi-dimensional, composta de linhas e colunas de dados. Relação recursiva = relaciona o objeto a si mesmo. Atributo = Coluna Grau de uma relação = Número de atributos Tupla = Cada linha da relação Domínio de um atributo = Conjunto ao qual pertence os valores de um atributo Valor nulo de um atributo de uma tupla = Atributo inaplicável ou com valor desconhecido Esquema de Banco de Dados Relacional = Nomes das relações seguidos pelos nomes dos atributos, com os atributos chaves sublinhados e com as chaves estrangeiras identificadas. Banco de Dados Relacional

6 Modelo Relacional Atributo Identificador: A atributo ou conjunto de atributos que será utilizado para identificar instâncias de uma entidade. Faz parte do modelo conceitual. Chave: designa o conceito de item de busca, isto é, um atributo ou conjunto de atributos que será utilizado nas consultas à base de dados. É um conceito lógico da aplicação. Índice: É um recurso físico que visa otimizar a recuperação de uma informação, via um método de acesso. Seu objetivo principal está relacionado com a performance de uma aplicação. Uma chave pode ser utilizada como índice, mas um índice não é, necessariamente, uma chave

7 Chave Candidata –Deve ser única, ou seja, nenhuma tupla de uma mesma relação pode ter o mesmo valor para o atributo escolhido como chave candidata –Deve ser irredutível, nenhum subconjunto da chave candidata pode ter sozinho a propriedade de ser único. –Pode ser : Simples : quando é composta por apenas um atributo Composta : quanto possui mais de um atributo para formar a chave Chave primária –É um caso especial da chave candidata. É a escolhida entre as candidatas para identificar unicamente uma tupla. Chave estrangeira – É quando um atributo de uma relação é chave primária em outra. –Constitui um conceito de vital importância no modelo relacional: é o elo de ligação lógica entre as tabelas (relacionamentos) –Através das operações com as chaves estrangeiras que se garante a INTEGRIDADE REFERENCIAL do banco de dados: Modelo Relacional

8 Regras de Integridade Regras que devem ser obedecidas em todos os estados válidos da base de dados (podem envolver uma ou mais linhas de uma ou mais tabelas) Integridade da Entidade O valor da chave não pode ser vazio A chave primária serve como representante na base de dados de uma entidade – se a chave primária for vazia, alinha não corresponde a nenhuma entidade Integridade de Chave Primária O chave primária tem que ser única Integridade Referencial As chaves estrangeiras tem que ser respeitadas, ou seja, se existe um determinado valor para o atributo na tabela onde ele é chave estrangeira este valor deve existir na tabela onde ele é chave primária Restrições de Integridades Semânticas Todas as demais regras que devem ser obedecidas por todos os estados válidos da base de dados Modelo Relacional

9

10 Principais características de um SGBD Restrições de Integridade A maioria dos SGBD provem certas restrições de integridade que devem ser aplicadas aos dados. O SGBD deve ter mecanismos para possibilitar a definição das restrições e assegurar o respeito a estas. Um exemplo de restrição de integridade é a definição de um tipo de dado (data type) para cada item de dado. Exemplo: Ao definir o tipo cores como: azul, vermelho, amarelo e verde. E em seguida definir um atributo cor_parede como do tipo cores. O SGBD aceitará apenas os tipos definidos ou seja azul, vermelho, amarelo e verde como válidos para este atributo. Pergunta: o que aconteceria se o usuário informasse a cor branco para o atributo cor_parede?

11 Arquitetura de três esquemas A arquitetura de três esquemas possui três níveis: – Nível interno : descreve a estrutura de armazenagem física do banco de dados através da descrição completa dos dados armazenados e dos caminhos de acesso para o banco de dados, – Nível conceitual : descreve a estrutura de um banco de dados corporativo para uma comunidade de usuários. O esquema conceitual esconde os detalhes das estruturas físicas de armazenagem e concentrando-se nas descrições da entidades, tipos de dados, relacionamentos, operações do usuário e restrições. – Nível externo : descreve uma parte do banco de dados de interesse de um grupo de usuários em particular e esconde o resto do banco de dados para esse grupo.

12 Arquitetura de Três Esquemas Visão Externa 1 Visão Externa 1 Visão Externa n Visão Externa n Esquema Conceitual Esquema Interno Usuários finais... Esquema EXTERNO Esquema CONCEITUAL Esquema INTERNO mapeamento externo/conceitual mapeamento conceitual/interno

13 – Visões Exemplo : Exemplo : Empresa aérea 1- Funcionários (Nome, CPF, DataNasc, Telefone, DataAdmissão) 2- Equipamentos (NumAvião, Marca, Tipo, Capacidade, NumTripulação, DataRevisão) 3- Funções (NomeFunção, Salário, Qualificação, TipoEquipam) 4- Vôo (NumVôo, Linha, Equipamento, NumHoras, ServiçoBordo, HorárioSaída) Aplicações: Folha pagamento (1,3) Equipe tripulação (1,2,3) Manutenção equip (1, 2, 3) Reserva vôo (2,4) Escala manutenção (1,2,3)

14 Independência de Dados ( reformulando......) Capacidade de mudar o esquema num nível de um sistema de banco de dados sem ter que mudar o esquema no nível seguinte mais alto. Independência lógica de dados: Capacidade de mudar o esquema conceitual sem ter que mudar esquemas externos ou programas de aplicação. Independência física de dados: Capacidade de mudar o esquema interno sem ter que mudar o esquema conceitual

15 Principais características de um SGBD Independência de Dados Consiste na capacidade de permitir que haja evolução na descrição dos dados da empresa, sem que os sistemas ou aplicações tenhas que ser alterados Imunidade das aplicações às mudanças na estrutura de armazenagem e estratégias de acesso A independência dos dados em relação a aplicação representa o um avanço no sentido de tornar qualquer modificação das estruturas dos arquivos imperceptível para os programas. Desta forma, as mudanças na organização dos dados não gera qualquer necessidade de alteração dos programas que o manipulam. Exemplo: Inclusão de um novo campo (atributo) em um arquivo (tabela) é feita sem que sejam alterados os programas, pois nos programas não estão definidos as estruturas dos arquivos.

16 PROJETO (DESIGN) DE BANCOS DE DADOS Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto Físico Esquema Conceitual Esquema Físico Esquema Lógico Coleta e Análise de Requisitos Mini-Mundo Independente de SGBD Específico para um SGBD Foco : dados

17 Modelo logico aluno curso Cod-aluno Nome cpf Cod-curso Nome Carga-hor. ALUNO (cod-aluno, nome, CPF CURSO(cod-curso, nome, carga-hor.

18 Regra 1: todo conjunto apontado por um Recebe a chave do apontado. ALUNO (cod-aluno, nome, CPF, cod-curso) CURSO(cod-curso, nome, carga-hor.) Isto j á permite a liga ç ão entre as duas rela ç ões.

19 Regra do foguete aluno curso Cod-curso curso Nome do atributo a ser exportado Nome que o atributo recebe na tabela que o importa

20 Regra 2 aluno Cod-aluno Nome CPF endereço aprovado Nota Data-aprovaçao { disjunto} Primeiro grau segundo grau Nível superiorgrau ALUNO ( cod-aluno, nome, CPF, endere ç o, ind-aprovado, indc-flag- tipo) APROVADO (cod-aluno, nota, data-aprovacao) PRIMEIRO GRAU (cod-aluno) SEGUNDO-GRAU(cod-aluno) NIVEL-SUPERIOR (cod-aluno) As rela ç ões PRIMEIRO GRAU, SEGUNDO-GRAU, NIVEL-SUPERIOR são eliminadas pois não acrescentam nenhuma informa ç ão nova.

21 Regra 3 aluno curso Cod-aluno Nome cpf Cod-curso Nome Carga-hor. ESQUEMAS RELACIONAIS: ALUNO (cod-aluno, nome, CPF) CURSO(cod-curso, nome, carga-hor.) ALUNO/CURSO (cod-aluno, cod-curso)

22 Convertendo o Diagrama ER para Tabelas Relacionais Para cardinalidade 1:1 Incluir todos os atributos numa tabela simples. O nome da tabela relacional pode ser o nome de uma das entidades que participam do relacionamento, um nome composto formado pela combinação dos nomes das duas entidades ou um novo nome que represente o significado dos dados na tabela. Para cardinalidade 1:N Incluir o identificadordo lado um como um atributo no lado muitos. O dentificador colocado do lado muitos é chamado de chave estrangeira. Para cardinalidade N:M Criar uma nova tabela e colocar as chaves primárias de cada uma das entidades como atributos na nova tabela. A nova tabela é chamada de tabela associativa. O identificador da tabela é uma chave composta formada pelas chaves primárias das duas tabelas que participam do relacionamento. Cada identificador colocado na nova tabela é uma chave estrangeira. Em cada entidade onde o limite inferior para a cardinalidade é 0 e o limite superior é 1, temporariamente classifique o limite superior como N. Aplique as regras abaixo, observando apenas os valores máximos para as cardinalidades

23 Convertendo o Diagrama ER para Tabelas Relacionais ensina FaculdadeCurso matricula Aluno TemAlu_Esputiliza Endereço Residencial Especiali- zação Armario 0:1 N 0:4 0:7 0:N 1:1 0:1 N 1:N 1:1 0:1 N Estes são rótulos temporários para os limites de cardinalidade superior.

24 Convertendo o Diagrama ER para Tabelas Relacionais Tem Aluno Sobrenome Street CPF Endereço residencial RuaCidadeEstado Aluno (NumMatr, CPF, Nome, Sobrenome, Rua, Cidade, Estado) Colocando Atributos 1 : 1 Nome NumMatr

25 Convertendo o Diagrama ER para Tabelas Relacionais Alu_Esp Aluno Especiali- zação 1:N1:1 Estado Cidade Rua Sobrenome Nome CPFCd-ident Descrição Aluno (NumMatr,CPF, Cd-ident, Nome, Sobrenome, Rua, Cidade, Estado) Especialização (Cd-ident, Descrição) Colocando chave estrangeira NumMatr

26 Convertendo o Diagrama ER para Tabelas Relacionais matricula Curso Aluno 1:70:N Creditos Estado Cidade NomeCurso Nome Cd_id CPF Sobrenome Colocando chaves estrangeiras Rua Curso (Cd-id, NomeCurso, Creditos) Matricula (Cd_id, NumMatr) Aluno (NumMatr,CPF, Nome, Sobrenome, Rua, Cidade, Estado) Nova tabela de associação NumMatr

27 ALGEBRA RELACIONAL ( {conjunto de elementos}, {conjunto de opera ç ões}, {propriedades das opera ç ões} ) EXEMPLO: a á lgebra dos naturais ({conjunto dos naturais},{ +,-,*,/},{associativa, distributiva, neutro,...})

28 Os operadores da á lgebra relacional podem ser divididos em dois grupos: Operadores de Conjuntos: são operadores t í picos definidos pela á lgebra para conjunto, tais como união, interse ç ão, diferen ç a e produto cartesiano. Operadores de rela ç ões: são operadores especiais definidos especialmente para a manipula ç ão de tuplas, tais como, Select, Project e Join.

29 SELE Ç ÃO ( ): opera ç ão aplicada sobre uma rela ç ão de modo a selecionar um sub-conjunto de tuplas (com todos os seus atributos) que satisfa ç am a um determinada condi ç ão (simples ou composta). O sub-conjunto selecionado forma uma rela ç ão resultante tempor á ria. Esta condi ç ão aplica-se apenas em uma ú nica rela ç ão sendo verificada individualmente para cada tupla da rela ç ão. Exemplo: Dado uma rela ç ão dos funcion á rios da empresa, selecionar aqueles que recebem sal á rio > 1000,00 reais. A opera ç ão SELECT é denotada por: ( )

30 Projeção As opera ç ões project e select podem ser utilizadas de forma combinada, permitindo que apenas determinadas colunas de determinadas tuplas possam ser selecionadas. A forma geral de uma opera ç ão sequencializada é : ( ( ) )

31 Produto cartesiano A X B Consiste em se combinar todas as linhas da relação A com a relação B A = ALUNO NOMETEL JOAO12 LUIZ25 B = DISCIPLINA COD-DISNOMECREDITOS 1MATEM.15 2INGLES20 3PORT.15 A X B = ALUNO X DISCIPLINA NOMETELCOD-DISNOMECREDITOS JOAO121MATEM.15 JOAO122INGLES20 JOAO123PORT.15 LUIZ251MATEM.15 LUIZ252INGLES20 LUIZ253PORT.15


Carregar ppt "BANCO DE DADOS - CONCEITOS Arquiteturas de Banco de dados Projeto de banco de dados Modelo relacional Algebra relacional ASSUNTOS TRATADOS."

Apresentações semelhantes


Anúncios Google