Você está na página 1de 132

Centro de Formao So Domingos

ProjectoOi@ cultura partilha

Curso de Base de Dados

You should be the change that you want to see in the world" ("Voc deve ser a mudana que quer ver no mundo") = Gandhi=

Frei Joaquim Jos Hangalo


Centro de Formao So Domingos Universidade Catlica de Angola Base de dados Programao Java SE e Java EE Interaco Homem Mquina Programao Web (Web Standards)

Objectivo do curso
Apresentar os fundamentos tericos e prticos de base de dados e de sistemas de gesto da base de dados. Compreender os conceitos de modelagem, projecto de administrao de bases de dados

Contedo
Conceitos de Base de dados Modelagem e Projecto de Base de dados Modelo Entidade Relacionamento Normalizao Conceitos e prticas para a construo e manipulao de base de dados ( Linguagem SQL)

Dinmica das aulas


Exposio e Prtica Exerccios em Sala de aulas Trabalhos de casa
Enviar os trabalhos para: projectooi@centrofsd.org

Certificado do Curso
Do Centro de Formao So Dominogos Os alunos que tiverem bom aproveitamento Nos trabalhos durante a semana Podero posteriormente fazer o projecto E defende-lo conforme prtica Do Centro de Formao So Domingos Enviar os trabalhos para: projectooi@centrofsd.org

Formas de Estudo
No estudar pelos slides Estudar atravs de livros, apostilas e outras referencias indicadas

Ferramentas a utilizar
Microsoft Access 2007 MYSQL Mysql Workbench

Outras Ferramentas
NetBeans 7.2 Astash

Bibliografica
Silberschatz, A, Korth, HF,; Sudarshan, S. Sistema de base de dados, Makron Books, 1999 A. Heuser, Carlos Alberto, Projeto de Banco de Dados, Instituto de Informtica da UFTGS Damas, L., SQL, FCA

Introduo a base de dados

Conceitos

Dados e Informao
Dado: Dados so todos os elementos que servem de base para a formao de opinies ou para a tomada de decises. Um dados apenas um ndice, um registo, uma manifestao objectiva, passvel de anlise, exigindo interpretao da pessoa para a sua manipulao.

Dados e Informao
Dado: Em si, os dados tm pouco valor, mas quando classificados, armazenados e relacionados entre si, eles permitem a obteno de informaes. A informao apresenta significado e intencionalidade, aspectos que a diferenciam do conceitos de dados.

Dados e Informao
Informao Informao o dado processado, trabalhado, que permite ao executivo tomar decises. o resultado do tratamento dos dados existentes a cerca de algum ou de alguma coisa. Pode-se definir tambm a informao como um conjunto de factos organizados de tal forma que adquirem valor adicional alm do valor do facto em si.

Base de dados
Conceitos e definies

As bases de dados transformaram-se num componente essencial do dia-a-dia na sociedade moderna Exemplo
depositar ou retirar dinheiro do banco fazer uma reserva num hotel ou companhia area fazer pesquisa de itens numa biblioteca informatizada pesquisar preos de itens num supermercado

As actividades acima so exemplos de aplicaes tradicionais de base de dados. Onde a maioria das informaes so armazenadas atravs de textos ou nmeros. H poucos anos atrs, a tecnologia permitiu novas aplicaes para base de dados Exemplos Bases de dados multimdia: armazenam figuras, som e vdeo SIGS Sistemas de informao geogrficas: armazenam e analisam mapas, tempo e imagem de satlite Sistemas em tempo real: controlo de fabrico e processo de manufactura.

Base de dados: definies


Definies: uma coleco de dados inter-relacionados, representado informao sobre um domnio especfico (conceito geral) uma coleco de dados relacionados referentes a um mesmo assunto e organizados de maneira til com o propsito de servir de base para que o utilizador recupere informaes, tire concluses e tome decises.

Uma base de dados uma coleco logicamente coerente de dados com algum significado inerente; um arranjo aleatrio de dados no pode ser considerado uma base de dados.

Uma Base de Dados Relacional um sistema de armazenamento de dados em forma tabular baseado nos relacionamentos entre elementos de dados buscando uma normalizao (sem redundncias) dos dados.

Propriedades de uma base de dados Uma base de dados uma coleco logicamente coerente de dados com algum significado inerente Uma base de dados projectada, construda e povoada com dados para um propsito especfico . A ela est relacionado um grupo de utilizadores e aplicaes de interesse a estes utilizadores.

Propriedades de uma base de dados Uma base de dados representa um minimundo. Representa algum aspecto do mundo real. Quaisquer alteraes neste mundo real so reflectidas na base de dados.

Uma base de dados pode ser de qualquer tamanho e variar de complexidade. Por exemplo, a lista de nomes, endereos e telefones de uso pessoal pode ter dezenas de registos e possui uma estrutura simples. Por outro lado, o catlogo de livros de uma grande biblioteca pode ter milhares (ou milhoes) de registos, classificados e caracterizados com dados do autor (primeiro e ultimo nomes), ttulo, editora, data de publicao, edio, etc

Uma base de dados pode ser gerada e mantida manualmente ou por uma mquina. O catlogo ou ficheiro de uma biblioteca um exemplo de uma base de dados criada e mantida manualmente. Uma base de dados informatizada pode ser criada e mantida por: Um grupo de programas especialmente escritos para esta tarefa; ou Um sistema de gesto de base de dados.

Sistema de Gesto de Base de Dados Data Base Managemet System (DBMS)


Um sistema de gesto de base de dados (SGBD) uma coleco de softwares(Programas) que habilitam o utilizador para a criao e manuteno uma base de dados. O SGBD um software de propsitos gerais que facilita o processo de definio, construo e manipulao de bases de dados.

Sistemas de Gesto de Bases de Dados (SGBD)

So softwares que permitem a definio de estruturas para armazenamento de informaes e fornecimento de mecanismos para manipula-las

Sistemas de Gesto de Bases de Dados (SGBD)


Exemplos Oracle Microsoft SQL Server Mysql Micorosft Access PostgreSQL Etc.

Recursos de um SGBD
Adio de novos ficheiros Criao de novas bases de dados Insero de dados Recuperao de dados Actualizao Eliminao dos dados Criao de vises Atribuio de privilgios .

Profissionais
Administrador de Bases de dados (Database Administrator DBA).
Coordena de monitora a utilizao da(s) base(s) de dado(s) segurana, tempo de reposta, etc Autoriza o acesso base de dados Ajusta o projecto fsico quando necessrio Adquire software e hardware necessrios

Projectista de base de dados


Identifica os dados a serem armazenados na base de dados Escolhe as estruturas apropriadas para representar e armazenar estes dados Faz o levantamento das necessidades dos utilizadores (requisitos)

Profissionais
Programador de aplicaes:
Escreve os programas aplicativos Realiza requisies ao SGBD

Utilizador final
Manipula a base de dados atravs de:
Linguagens de consulta Programas previamente desenvolvidos

Tipos de utilizadores:
Leigos(operador de terminal) X sofisticados(engenheiros) Casuais(gerentes) X frequentes (caixas de bancos)

Tipos de Bases de Dados


Dois tipos Analticas (Datawarehouse) Operacionais

Bases de dados analticas So fundamentalmente estticas. Armazenam dados de arquivo histrico Por exemplo, uma empresa poderia armazenar registos de vendas durante os ltimos dez anos numa base de dados analtica e poderia utilizar esta base de dados para analisar estratgias de marketing.

Bases de dados operacionais So utilizadas para administrar dados mais dinmicos. Estes tipos de base de dados permitem mais do que ver os dados arquivados. As bases de dados operacionais permitem modificar aqueles dados (adicionar, alterar, apagar dados, etc)

Bases de dados operacionais Normalmente so utilizadas para localizar informao em tempo real. Por exemplo, uma companhia poderia utilizar uma base de dados operacional para saber a quantidade armazenada de um conjunto de produtos. Este tipo de informao fundamental para gerir qualquer stock

Modelo conceitual de dados

Modelo conceitual de dados


Um modelo de dados um conjunto de conceitos utilizados para descrever a estrutura de uma base de dados Um modelo de dados a descrio formal da estrutura de uma base de dados Um modelo de dados permite identificar os dados de um determinado ambiente, as relaes entres eles e as suas restries de integridade.

Modelo conceitual de dados


Estrutura: tipos de dados, relacionamentos e restries que deve suportar os dados. A maioria dos modelos inclui uma srie de operaes bsicas para recuperaes e actualizaes.

Modelo conceitual de dados


O Modelo de dados descreve o tipo de informao que vai ser armazenada numa base de dados. Exemplo da industria: O modelo de dados informa:
So armazenadas informaes sobre produtos Para cada produto, so armazenados o cdigo, o preo e a descrio

O Modelo de dados no informa


Quais produtos esto armazenados na base de dados

Modelo conceitual de dados


O modelo conceitual de dados a representao dos conceitos e caractersticas observadas no ambiente; Tem como caracterstica principal ignorar particularidades de implementao

Modelo conceitual de dados


O modelo conceitual de dados independente do tipo de SGBD regista A estrutura dos dados que podem aparecer na base de dados; No regista a forma como estes dados esto armazenados a nvel do SGBD

Modelo conceitual de dados


O Modelo de dados uma representao das necessidades de dados de um determinado ambiente e de como estes dados se relacionam uma das primeiras actividades que deve ser feita ao longo do processo de identificao e compreenso de um ambiente, tendo em vista as necessidades de automatizao.

Modelo conceitual de dados


Construir um modelo de dados significa:
colectar e documentar informaes relevantes do ambiente estudado; representar as informaes, de forma clara e objectiva, e num formato padro que possa facilitar o entendimento dos participantes do processo; definir, de maneira clara, o escopo do ambiente modelado Adquirir o entendimento do ambiente atravs de refinamentos sucessivos do modelo; e representar graficamente as necessidades de informao independentemente do Software e do Hardware a serem utilizados na implementao do Sistema

Como qualquer representao o resultado de um processo de abstraco Durante esse processo de abstraco, objectos relevantes, associaes entre eles e caractersticas (atributos) de objectos e associaes so seleccionadas.

A relevncia de um objecto, de uma associao ou de um atributo determinada pelos objectivos do modelo.

Modelo conceitual de dados


Componentes de um modelo conceitual de dados
Entidades Tipo de entidades Atributos Relacionamentos E dicionrio de dados

Modelo conceitual de dados


Modelos lgicos baseados em Objectos Modelo de Entidade x Relacionamento Modelo distribudo Modelo Relacional Orientado a Objecto Modelos Lgicos Baseados em Registos Modelo Hierrquico Modelo de Redes

Modelos de Bases de Dados

O desenvolvimento de uma base de dados pode ser realizado segundo diferentes modelos conceituais.

Modelos de Bases de Dados


Existem muitos modelos de bases de dados
mas, o mais conhecido e mais utilizado, o

modelo Entidade Relao, tambm


conhecido por Entidade Relacionamento ou,

simplesmente, modelo ER.

Modelo Entidade - Relacionamento

Modelo Entidade-Relacionamento:
uma tcnica desenvolvida para auxiliar em projectos de Base de dados

Caractersticas: 1) Grfica: permite representar o modelo de informao com: clareza; reduo de esforo; facilidade de compreenso; facilidade de apresentao. 2) Baseado na percepo de que o mundo real constitudo de dois objetos: Entidade e relacionamentos.

Modelo Entidade-Relacionamento
Criado e publicado por Peter Chen em 1976 Tcnica mais difundida de modelagem conceitual . um padro de fato para modelagem conceitual

representado atravs do diagrama entidaderelacionamento (DER)

Modelo Entidade-Relacionamento
O modelo ER especifica o esquema da base de dados atravs da identificao dos grandes objectos informacionais com interesse para o sistema a informatizar e nas relaes entre estes.

Modelo Entidade-Relacionamento
Este modelo baseia-se na percepo de que o mundo real constitudo por dois objectos: Entidades Relacionamentos

Modelo Entidade-Relacionamento
Conceitos fundamentais da modelagem ER Entidade Atributo Relacionamento Cardinalidade
Extenso do modelo ER
Generalizao/especializao
54

ENTIDADE

Entidade tudo aquilo sobre o qual se deseja manter informaes; so elementos relevantes, abstractos ou concretos, sobre os quais necessrio guardar informao.

Representam pessoas ou objectos que existem no mundo real, e

sobre os quais se quer guardar informaes

denota um conjunto de ocorrncias de um facto

Dica: Numa especificao(problema) so os


substantivos

Uma entidade representa um objecto do mundo real que possui existncia prpria e cujas caractersticas ou propriedades desejamos armazenar. O objecto representado pode ser um objecto concreto (uma pessoa, um carro, um livro, etc) ou abstracto (um departamento, um projecto, um curso).

s caractersticas do objecto que desejamos armazenar damos o nome de atributos. Cada atributo de uma entidade possui um nome e um valor especfico.

Entidade
Podendo representar : a)Objectos concretos como Pessoas, livros, carros... b)Objectos abstractos como empresas, eventos, departamentos...

Entidade
So representadas no DER atravs de um rectngulo com o nome no interior

Conveno: escreve o nome das entidade no singular com a primeira letra maiscula.

Entidade
Exemplos:
Pessoas (Fornecedores, Empregados, Clientes, Alunos, etc.) Organizaes (Empresas, Hospitais, Escolas, Farmcias, etc.)

Objetos (Carro, Factura, Produtos, etc.)

Smbolo:

Entidade

Exemplos
Sistema de informaes industrial
Produtos Tipos de produtos Compras Vendas

Sistema de contas corrente ?


Clientes Contas corrente Cheques Agncias
62

Exerccio
Identificar entidades Deseja-se construir uma base de dados para um sistema de vendas. Em cada venda so vendidos vrios produtos e um determinado produto pode aparecer em diferentes vendas. Cada venda efetuada por um vendedor a um determinado cliente. Um produto est armazenado numa prateleira de uma estante de um determinado armazem. Um armazem pode ter vrias estantes.
63

Exerccio
Identificar entidades

Nma clnica trabalham mdicos e existem pacientes internados. Cada mdico identificado pelo seu CM (cdigo de Mdico), possui um nome e recebe um salrio na clnica. Um mdico tem formao em diversas especialidades (ortopedia, traumatologia, etc), mas s exerce uma delas na clnica.

Para todo paciente internado na clnica so cadastrados alguns dados pessoais: nome, endereo, telefone(s) para contacto, data do nascimento e sexo. Um paciente tem sempre um determinado mdico como responsvel (com um horrio de visita dirio predeterminado), porm vrios outros mdicos podem participar do seu tratamento. Os pacientes esto sempre internados em quartos individuais, que so identificados por um nmero e ficam num andar da clnica.

ATRIBUTOS

Atributo
So as propriedades que caracterizam ou descrevem uma entidade ou um relacionamento; Dado ou informao que associado a cada ocorrncia de uma entidade ou de um relacionamento

Um atributo corresponde a alguma propriedade de interesse que ajuda a descrever uma entidade, como o nome do funcionrio ou seu salrio

Exemplo: A entidade CARRO poderia ter os seguintes atributos : Placa, modelo, ano de fabrico, cor, preo; Cada atributo possui um domnio que identifica o conjunto de valores permitidos para aquele atributo: nome domnio string, salrio domnio numrico;

Atributos
Representao Grfica

nomeDoAtributo

TIPOS DE ATRIBUTOS

Diversos tipos de atributos ocorrem no modelo ER: simples versus composto, monovalorado ou univalorado versus multivalorado, e armazenado versus derivado. Nulo

Atributos Simples (Atmicos).

No possvel decompor esses atributos em


unidades mais elementares.

Exemplo:
N. de aluno, salrio, nome prprio...

Tipos de atributos
Compostos So atributos que podem ser decompostos em unidades mais elementares. Exemplo:
O nome completo de uma pessoa pode ser decomposto em nome prprio e sobrenome.

Os atributos compostos podem ser divididos em subpartes menores, que representam a maioria dos atributos bsicos com significados independentes. Por exemplo, o atributo Endereo, pode ser subdividido: em Rua, Municpio, Bairro, Casa...

O valor de um atributo composto a concatenao dos valores componentes dos seus atributos simples

Os atributos compostos so teis para modelar as situaes nas quais o utilizador algumas vezes refere-se ao atributo como um grupo e, noutras ocasies, refere-se especificamente a um de seus componentes.

Se o atributo composto referido apenas como um todo, no h necessidade de subdividi-lo em atributos componentes. Por exemplo, se no necessrio referir-se a um componente individual de um endereo (Caixa Postal, rua, e assim por diante), ento o endereo pode ser definido como um atributo simples.

Tipos de atributos
Compostos
Representao grfica

Os atributos compostos so implementados pelas suas partes

Atributos mono valorados So atributos que para uma mesma entidade s recebem um valor. A maioria dos atributos tem um valor nico para uma dada entidade; Por exemplo, data de nascimento um atributo mono valorado de uma pessoa.

Tipos de atributos
Multivalorados so atributos que para uma mesma entidade podem receber dois ou mais valores.

um atributo pode ter um conjunto de valores para a mesma entidade por exemplo, um atributo Cor para um carro ou um atributo Titulao para uma pessoa. Os carros com uma cor tm um valor nico, enquanto aqueles com dois tons contm dois valores para Cor.

Da mesma forma, uma pessoa pode no ter um ttulo acadmico, outra pessoa pode ter um e, uma terceira pessoa, dois ou mais ttulos, portanto, pessoas diferentes podem ter nmeros de valores diferentes para o atributo Titulao.

Um atributo multivalorado deve ter limite inferior e superior para restringir o nmero de valores permitidos a cada entidade individual. Por exemplo, o atributo Cor de um carro pode ter entre um e trs valores, se presumirmos que um carro possa ter, no mximo, trs cores.

Tipos de atributos
Multivalorados
Representao grfica

No processo de implementao de atributos multivalorados


importante considerar dois aspectos: 1) Quando a quantidade de valores pequena e conhecida a priori. Substitui-se o atributo multivalorado por um conjunto de atributos de mesmo domnio, cada um representando a ocorrncia de um valor. 2) Quando a quantidade de valores muito grande, varivel ou desconhecida. Retira-se da tabela o atributo multivalorado, e cria- se uma nova tabela que tem o mesmo conjunto de atributos chave, mais o atributo multivalorado como chave, porm tomado como monovalorado.

Atributos Armazenados versus Derivados. Em alguns casos, dois (ou mais) valores de atributos esto relacionados por exemplo, os atributos Idade e DataNascimento de uma pessoa. Para uma entidade pessoa em particular, o valor de Idade pode ser determinado pela data corrente (hoje) e o valor de DataNascimento da pessoa. Portanto, o atributo Idade chamado atributo derivado, e dito derivado do atributo DataNascimento, que, por sua vez, chamado atributo armazenado.

Alguns valores de atributos podem ser derivados de entidades relacionadas; por exemplo, um atributo NumerodeEmpregados, de uma entidade departamento, pode ser derivado da contagem do nmero de empregados relacionados (que trabalham) neste departamento. Atributos derivados podem ser calculados a partir de outros atributos No digrama so representados com uma elipse com os limites descontnuos

Nulos Nulo utilizado quando uma entidade no possui ou desconhece o valor de um determinado atributo Exemplo: Um funcionrio que no possua dependentes ter o valor do atributo nomeDependente nulo.

A representao de um atributo sem valor colocarmos um valor especial null. Null tambm pode ser utilizado quando no conhecemos o valor de um atributo, por exemplo, quando desconhecida a data de nascimento de uma pessoa.

RELACIONAMENTOS

Ao definir as entidades componentes de um diagrama entidade relacionamento, nota-se vrios relacionamentos implcitos entre elas. De facto, sempre que um atributo de um tipo de entidade refere-se a um outro tipo de entidade, temos um relacionamento entre as entidades.

Relacionamento
Um relacionamento consiste numa associao entre entidades do negcio. Mais concretamente, se se vir uma entidade como um conjunto de ocorrncias, existe um relacionamento entre entidades se ocorrncias de uma destas entidades estiverem associadas a uma ou mais ocorrncias de outras entidades. Associaes entre entidades estabelecidas de acordo com as necessidades de gesto.

conceito utilizado para indicar associaes entre elementos de diferentes conjuntos de entidades. Um relacionamento binrio um par ordenado (e1, e2) onde e1 e e2 so respectivamente elementos de E1 e E2. Conjunto de relacionamentos conjunto dos pares ordenados que associam entidades. A representao grfica desse conjunto um losango.

Conjunto de relacionamentos so representados graficamente por meio de losangos contendo o nome do tipo de relacionamento conectados aos conjuntos de entidades cujos elementos ele associa

Funcionrio

trabalha no

Departamento

CLASSIFICAO DOS RELACIONAMENTOS

Classificao dos relacionamentos


Os Relacionamentos so classificados de acordo com as caractersticas Grau
Nmero de entidades envolvidas no relacionamento

Obrigatoriedade
Entidades participam com carcter opcional ou obrigatrio no relacionamento

Cardinalidade
Relao entre o nmero de ocorrncias numa entidade com as respectivas ocorrncias na outra com que tem o relacionamento

Grau dos Relacionamentos


Unrio || Binrios || n-rios
O grau de um relacionamento corresponde ao numero de diferentes tipos de entidades que dele participam. Os relacionamentos podem associar um numero qualquer de tipos entidades. Os relacionamentos mais comuns so aqueles de grau dois (relacionamentos binrios).

Relacionamentos do tipo Trabalha NO, por exemplo, possuem grau dois. Um exemplo de tipo relacionamento ternrio e FORNECE. Ele associa os tipos de entidades FORNECEDOR, PECA e PROJECTO

Grau dos Relacionamentos


Unrio || Binrios || n-rios

Atributos de um relacionamento
Atributos de um relacionamento: assim como no caso das entidades, os relacionamentos tambm podem possuir certos atributos. O numero de horas que um funcionrio trabalha num projecto, por exemplo, pode ser visto como um atributo do conjunto de relacionamentos DESENVOLVE

Obrigatoriedade dos Relacionamentos


A participao de entidades A e B num relacionamento podem ser obrigatria ou opcional

Restrio de Participao
Restrio de Participao: determina se a existncia de uma entidade esta condicionada ou no ao seu relacionamento com outra entidade. Existem dois tipos de restries de participao: total e parcial. Na primeira, uma entidade existe somente quando ela se relaciona com outra entidade via um relacionamento. Por exemplo, se a politica da empresa determina que todo funcionrio deve trabalhar em um departamento, ento a participao de FUNCIONARIO em TRABALHA NO total

Restrio de Participao
Caso contrario, ou seja, se a existncia de uma entidade independente do facto dela estar relacionada com outra, tem-se uma restrio de participao parcial. A participao de FUNCION ARIO em DESENVOLVE, por exemplo, parcial. Ou seja, nem todo funcionrio precisa desenvolver um projecto dentro da empresa. A restrio de participao total e representada graficamente por meio de linhas duplas ligando o conjunto de entidades ao conjunto de relacionamentos. J a participao parcial e representada por meio de linhas simples.

Cardinalidade dos Relacionamentos


A cardinalidade de um relacionamento consiste no nmero relacionado de ocorrncias para cada uma das entidades envolvidas no relacionamento Dadas duas entidades A e B as mais habituais so
Relacionamento 1:1 Relacionamento 1:N (um para muitos) Relacionamento M:N (muitos para muitos)

Notao Crow Foot

Cardinalidade dos Relacionamentos


N 1

Funcionrio

colocado

Departamento

Os smbolos 1 e N nas arestas de ligao determinam a cardinalidade ou classe do relacionamento

N para 1 ou muitos para um ou N:1


Uma entidade em A est associada a vrias entidades em B. Entretanto, uma entidade em B, deve estar associada a no mximo uma entidade em A

Exemplo: Uma turma tem vrios alunos, mas um aluno s pertence a uma turma

1 para 1 ou 1:1 - Um para um (1:1)


Uma entidade em A est associada no mximo a uma entidade em B, e uma entidade em B est associada a no mximo uma entidade em A

Exemplo: Um empregado est associado no mximo a um carro, e um carro est associado no mximo a um empregado

N para N ou muitos para muitos ou N:M


Uma entidade em A est associada a um nmero qualquer de entidades em B, e uma entidade em B est associada a um nmero qualquer de entidades em A

Exemplo: Uma conta pode estar associada a mais do que um cliente, e um cliente pode ter mais do que uma conta associada

CHAVES

Chaves
Um conceito fundamental no contexto do modelo entidade-relacionamento o de chave. Existem diferentes tipos de chaves:
Chave Candidata Super-Chave Chave Primria Chave estrangeira (externa):

Chave Candidata: Subconjunto dos atributos de uma entidade que podem ser utilizados como identificadores de uma instncia. O subconjunto no pode ser reduzido sem perder esta qualidade.

Chaves

Exemplos: {BI},{Contribuinte},{Eleitor, Municpio}

Chaves
Super-Chave: O conceito de super-chave mais abrangente que o de chave candidata definido anteriormente. Qualquer subconjunto de atributos de uma entidade que possa identificar univocamente qualquer instncia da entidade considerado uma super-chave

Exemplos: {BI}, {BI, nome}, {N Eleitor, Municipio}, {N Eleitor, BI}, {N Eleitor, BI, Nome}, { Nome, BI, N Contribuinte, N Eleitor, Municpio} No limite, o conjunto de todos os atributos de uma entidade ser sempre uma superchave.

Chaves
Chave Primria: Escolhida entre as possveis chaves candidatas, identifica de forma unvoca instancias de uma entidade. Deve respeitar as seguintes propriedades: Unvoca: Os atributos da chave primria tm um valor nico para qualquer instancia de uma entidade. No redundante: Se algum dos atributos for retirado da chave, os restantes atributos deixam de satisfazer a propriedade anterior. No nula. Nenhum dos atributos que a constituem pode assumir o valor nulo.

A chave primria tambm chamada atributo identificador O identificador de uma entidade, o atributo (ou composio de atributos) que identifica esta entidade ou melhor, identifica inequivocamente uma e s uma ocorrncia desta entidade.

Chaves
Chave Primria: Escolhida entre as possveis chaves candidatas, identifica de forma unvoca instancias de uma entidade.

Chave estrangeira (externa): Subconjunto dos atributos de uma entidade que constituem a chave primria de uma outra entidade. A sua existncia denota um relacionamento entre entidades e constitui a base do modelo relacional. um atributo que definido como chave primria numa entidade colocado (na implementao) na estrutura da outra, para se poder definir o relacionamento.

Chave estrangeira - Cardinalidade


Num relacionamento 1:1 com participao obrigatria de ambas as entidades, necessria apenas uma tabela, que representa ambas entidades e o relacionamento. Os identificadores de ambas entidades so chaves candidatas Num relacionamento 1:1 com classe de participao obrigatria de apenas uma das entidades, so necessrias duas tabela. A tabela que representa a entidade que tem participao obrigatria no relacionamento receber a chave estrangeira (chave primria da outra entidade)

cadeira

lecciona

professor

Chave estrangeira - Cardinalidade


Num relacionamento 1:1 sem classe de participao obrigatria de nenhuma das entidades, so necessrias trs tabelas, duas para representada cada uma das entidades em que a chave primeira o identificador da respectiva entidade e outra para representar o relacionamento que incluir os identificadores de ambas as entidades cadeira
lecciona

professor

Chave estrangeira - Cardinalidade


Num relacionamento 1: N com classe de participao obrigatria da entidade do lado N, so necessrias duas tabelas, cada uma representado uma das entidade em que a chave primria o identificador da respectiva entidade. Para alm disso a tabela que representa a entidade do lado N representar tambm o relacionamento, incluindo assim como chave estrangeira o identificador da outra entidade. professor

cadeira

lecciona

Chave estrangeira - Cardinalidade


Num relacionamento M: N so necessrias trs tabelas, duas para representada cada uma das entidades em que a chave primeira o identificador da respectiva entidade e outra para representar o relacionamento que incluir os identificadores de ambas as entidades

cadeira

lecciona

professor

ENTIDADES FRACAS

Um conjunto de entidades pode no ter atributos suficientes para formar uma chave primria. So os conjuntos de entidades fracas. Um conjunto de entidades que possui uma chave primria dito forte.

A chave primria de um conjunto de entidades fracas composto pela chave primrias do conjunto de entidades fortes ao qual a existncia do primeiro est associada mais o identificador do conjunto de entidades fraca. O relacionamento que associa o conjunto de entidades fracas a seu proprietrio o relacionamento identificador.

Uma entidade fraca sempre possui uma restrio de participao total(dependncia de existncia) com relao a seu relacionamento identificador, porque uma entidade fraca no pode ser identificada sem uma entidade proprietria Ao contrrio, tipos de entidades regulares que efectivamente possuem um atributo chave so s vezes chamados tipos de entidade fortes. As entidades fracas precisam estar relacionadas com uma entidade pertencente ao tipo de entidade proprietria ou identificadora. O relacionamento entre ambas chamado de relacionamento identificador.

EXERCCIOS

Para cada uma das situaes abaixo, construa um diagrama de entidades e relaes que descreva a informao, e proponha um conjunto de tabelas correspondente ao diagrama.

Situao 1 Uma transportadora area pretende implementar uma base de dados com a seguinte informao: A transportadora tem vrios avies. Cada avio tem, para alm da matrcula, um nome, a marca do avio, o nmero de lugares, e indicao da sua autonomia. Na transportadora trabalham vrios pilotos. Cada avio faz vrios voos. Cada voo deve ter, pelo menos, a indicao da data e hora em que se efectua, dos locais de partida e de destino. Cada voo de um dado avio pilotado por um piloto.

Situao 2 Uma fbrica pretende implementar uma base de dados para gerir os "stocks" dos seus armazns, as encomendas, e as vendas. Para tornar o problema menos extenso, no vamos aqui considerar a parte relativa s vendas. H assim que ter em conta que: A empresa comercializa vrios produtos, cada um dos quais com um cdigo, um nome, e um preo. Em cada momento a empresa deve ainda saber qual a quantidade existente no armazm de cada um dos produtos. Uma encomenda, que deve ter um nmero de encomenda e a data em que foi feita, pode ter vrios produtos, mas diz respeito apenas a um fornecedor. De cada fornecedor a empresa deseja guardar a informao do seu nome, nmero de contribuinte, morada, forma de pagamento, prazo de pagamento, e um cdigo interno de tipo de fornecedor.

Situao 3 Um grupo de docentes pretende organizar uma conferncia e, para guardar toda a informao relevante, vai ter que criar uma base de dados. Na conferncia so apresentados vrios artigos, cada um dos quais com um ttulo e um nmero. Cada artigo tem um ou mais autores. De cada autor, pretende armazenar-se para alm do nome, o endereo deemail, e o nome e morada da instituio a que esto associados. H ainda a informao relativa aos participantes na conferncia. De cada a participante dever ser retida a informao do seu nome, morada e endereo de email. Alm disso, distingue-se entre os participantes que so estudantes e os que no so. Cada participante no estudante tem de pagar antecipadamente a inscrio por transferncia bancria, pelo que necessrio guardar o nmero da transao. Para no pagar, o estudante tem de enviar antecipadamente um certificado e na base de dados deve ser armazenado o nome da universidade que o passou.

Situao 4 Uma clnica mdica pretende informatizar os seus servios. Para j querem comear por informatizar os dados referentes a mdicos, a clientes (ou pacientes) e a consultas. Na clnica trabalham vrios mdicos, de vrias especialidades diferentes. De cada mdico, identificado internamente por um nmero de empregado, a clnica pretende armazenar o nome, especialidade, morada e telefone. Como usual, os mdicos do consultas a clientes. A clnica pretende ter sempre disponvel a informao dos nomes e moradas dos seus clientes. A cada consulta est associado um s mdico e um s cliente. Actualmente as consultas so numeradas para cada um dos mdicos, ou seja para cada mdico h uma consulta 1, uma consulta 2, etc. Para a clnica importante manter este sistema de identificao das consultas, por forma a poderem ser introduzidos dados relativos ao tempo em que a clnica ainda no estava informatizada. Da consulta pretende armazenar-se a data em que ocorreu, bem como os vrios frmacos que foram receitados pelo mdico na consulta.

Situao 5 Um empresa de compra e vende de imveis pretende informatizar os seus servios. A empresa tem vrios casas para venda, cada uma das quais pertencente a um cliente da empresa. Da casa a empresa quer ter disponvel a zona de localizao, o nmero de assoalhadas, o preo e o ano de construo. Dos clientes deve ser armazenado o seu nome, morada e n de telefone. Um mesmo cliente pode ter vrias casas para venda na empresa. Claro est que, nesses casos, no se quer repetir a informao da morada e n de telefone do cliente. H ainda os clientes da empresa que, em vez de quererem vender casas, querem comprar. Desses deve ser armazenado, para alm da informao que se guarda dos outros clientes, a informao acerca dos interesses do cliente. Dos interesses fazem parte o n de assoalhadas e zona de localizao da casa que pretendem comprar. Um cliente pode ter interesse por vrios tipos de casas diferentes. De cada casa que esteja para venda na empresa, deve ainda ser armazenada a informao de que clientes j a visitaram, e quando.

Situao 6 Pretende-se desenvolver uma base de dados para armazenar informao duma biblioteca. Tal base de dados dever conter pelo menos informao referente a: todos os ttulos existentes na biblioteca incluindo, de cada um deles, o ISBN (que um cdigo atribudo a nvel internacional e que identifica univocamente um livro), o nome, o ou os autores, a editora, os descritores do livro, a sua classificao; as localizaes (e.g. o n da prateleira) onde se devem encontram os vrios livros (ou exemplares) de cada um dos ttulos; as informao relevantes sobre as editoras (como nome, telefone, morada, fax, etc); os leitores da biblioteca, cada um dos quais com um n de leitor. Dos leitores, a biblioteca pretende ainda ter mais alguma informao disponvel, como o nome, morada, etc; a biblioteca pretende, como natural, ter disponvel a informao de que leitores tm que livros requisitados. Notas: Os descritores dos livros so como "palavras-chave" que do indicaes sobre os temas abordados pelos livros. Para uniformizar, os descritores no so livres, mas escolhidos de entre uma lista de possveis descritores, sendo cada um deles identificado por um cdigo.