Utilizao de um sistema de criao e gesto de Base de
Dados 2 Conjunto de conceitos que podem ser utilizados para descrever e representar a estrutura lgica e fsica da base de dados; Estes modelos encontram-se divididos em dois grupos: Modelos Concetuais (ou baseados em objectos) Modelos de Implementao (ou baseados em registos) Modelos de bases de dados Modelo concetual 3 Fundamental para o desenvolvimento de qualquer base de dados; apenas um modelo lgico, o que traduz a abstraco da realidade; Fornece uma viso aproximada de como os utilizadores realmente visualizam os dados; Converte-se posteriormente num dos modelos de implementao de base de dados existentes. Modelo de implementao Permitem descrever a forma como os dados esto representados num SGBD; O Modelo Relacional, desenvolvido em 1970, o mais popular e ser estudado mais em pormenor. 4 Modelo Relacional 5 O Modelo Relacional constitudo somente por relaes, onde cada relao uma tabela. Quando uma relao pensada como uma tabela de valores, cada linha nesta tabela representa uma coleco de dados relacionados; Relao, Tuplo e Atributo Uma Relao uma estrutura fundamental do modelo relacional, bidimensional, representada por uma tabela organizada em linhas e colunas, respectivamente Tuplos e Atributos. Ou seja, um Atributo uma coluna qual atribumos um nome, e um Tuplo uma linha de uma relao (ou instncia da relao). Tabela Cliente Cod_cliente Nome Morada Telemvel 1 Bruna Porto 963485123 2 Baslio Funchal 934212987 6 Linha/Tuplo Coluna/Atributo Relao No modelo relacional, as relaes ou tabelas so utilizadas para guardar dados dos objectos que queremos representar na base de dados. O nome da tabela e das colunas utilizado para facilitar a interpretao dos valores armazenados em cada linha da tabela. Todos os valores de uma coluna so, necessariamente, do mesmo tipo. 7 Domnio de um Atributo 8 Os atributos traduzem o tipo de dados a armazenar. A cada atributo est associado um domnio ou gama de valores possveis que este pode ter. Ento o domnio de um atributo o conjunto de valores permitidos para esse atributo. Exemplo O atributo notas: as notas (ou classificaes) dos alunos podem ir de 0 (zero) a 100 (cem) pontos; ento, o domnio do atributo ser todos os valores compreendidos entre estes dois nmeros. Grau e Cardinalidade de uma Relao 9 Enquanto que o grau de uma relao tem, normalmente, um valor fixo, a cardinalidade de uma relao muda frequentemente. O grau de uma relao o nmero de atributos (ou campos) dessa relao. A cardinalidade da relao o seu nmero de tuplos (ou registos). Grau e cardinalidade de uma relao TABELA CLIENTE Cod_cliente Nome Morada Nr_BI 1 Bruna Porto 123422552 2 Baslio Fuchal 135263737 TABELA CONTA Nr_conta Saldo 200 456,80 324 222,78 10 TABELA CLIENTECONTA Cod_cliente Nr_conta 1 200 2 324 TABELA CLIENTE: Cardinalidade = 2 Grau = 4 11 Existem algumas convenes para a utilizao dos nomes, quer para as relaes (tabelas), quer para os atributos que a constituem. Determinados SGBD, como o caso do Microsoft Access 2010, permitem algum tipo de flexibilidade ao nvel dos nomes das tabelas e dos nomes dos atributos, ao contrrio de outros. 12 NOME DE UMA RELAO Os nomes das tabelas devero ter por base as entidades que representam. O nome da cada tabela deve ser nico, ou seja, no deve haver duplicao de nomes de tabelas dentro da mesma base de dados. No incluir palavras como tabela ou ficheiro nos nomes das tabelas. Por conveno, para os nomes, devemos utilizar unicamente letras maisculas e o underscore (_) para separar palavras. Usar abreviaturas quando necessrio, por exemplo, para diminuir os nomes que atinjam o nmero mximo de caracteres permitidos pelo SGBD. 13 Os nomes dos campos devem basear-se no nome do atributo definido no desenho lgico. Os nomes dos campos devem ser nicos dentro da tabela. Alguns SGBD podem ser sensveis ao facto do nome do campo estar escrito em maisculas e/ou minsculas. Por conveno, para os nomes dos campos devemos utilizar unicamente letras maisculas e o underscore (_) para separar palavras. ATRIBUTOS CHAVE 14 O conceito de chave muito importante no modelo relacional. Para cada relao deve existir uma chave, que vai ser constituda por um conjunto de um ou mais atributos, que identifica cada tuplo, de um modo nico, pois esta chave vai permitir estabelecer o relacionamento com outras relaes. Quando uma chave composta apenas por um atributo, podemos dizer que se trata de uma chave simples. Uma chave constituda por mais do que um atributo denominada chave composta. CHAVE CANDIDATA 15 No entanto, para proceder a esta seleco de chaves candidatas, necessrio conhecer bem a realidade de cada um dos atributos da relao e qual o seu domnio. Chaves candidatas so todos os conjuntos de um ou mais atributos possveis para identificar cada tuplo de um modo nico. CHAVE CANDIDATA EXEMPLO Na tabela cliente, como chaves candidata podemos ter os atributos Cod_cliente e Nr_BI. TABELA CLIENTE Cod_cliente Nome Morada Nr_BI 1 Bruna Porto 123422552 2 Baslio Fuchal 135263737 16 CHAVE PRIMRIA 17 Em todas as tabelas deve existir sempre uma chave primria e os atributos que a constituem no podem conter valores nulos. Por exemplo, para a tabela Cliente, como chave primria escolhemos o atributo Cod_cliente. De entre todas as chaves candidatas apenas uma ser escolhida para identificar cada tuplo de forma nica. A chave seleccionada de entre as chaves candidatas designada chave primria da relao. CHAVE ESTRANGEIRA 18 Isto , quando um atributo surge em mais do que uma relao, estamos perante um relacionamento de tuplos. Uma chave estrangeira um conjunto de um ou mais atributos que so a chave primria numa outra relao. CHAVE ESTRANGEIRA EXEMPLO 19 TABELA CLIENTE Cod_cliente Nome Morada Nr_BI 1 Bruna Porto 123422552 2 Baslio Fuchal 135263737 TABELA CONTA Nr_conta Saldo 200 456,80 324 222,78 TABELA CLIENTECONTA Cod_cliente Nr_conta 1 200 2 324 Para a tabela ClienteConta, a sua chave primria conjunto de dois atributos, Cod_cliente e Nr_conta. No entanto os elementos que constituem a chave primaria da tabela ClienteConta, ambas isoladamente so chaves estrangeiras.