Vous êtes sur la page 1sur 18

Concepo e Desenvolvimento de Bases de Dados

Universidade Fernando Pessoa

Maro 1999

Jos Braga de Vasconcelos

ndice

1. INTRODUO CONCEPO DE BASES DE DADOS ................................................................................. 3 1.1. 1.2. 1.3. MODELOS DE DADOS....................................................................................................................................... 3 CONCEITOS BSICOS........................................................................................................................................ 5 RELACIONAMENTOS ENTRE AS ENTIDADES ............................................................................................... 7 Multiplicidade dos Relacionamentos entre Entidades .................................................................7 Diagrama de Entidades-Relacionamentos (E-R) ........................................................................... 9

1.1.1. Modelo Relacional .................................................................................................................................... 4

1.3.1. 1.3.2.

2. EXERCCIOS PROPOSTOS..................................................................................................................................11 2.1. GESTO DE ENCOMENDAS...............................................................................................................................12 2.2. GESTO DE UMA CLNICA M DICA ...............................................................................................................13 2.3. GESTO DE PROJECTOS ....................................................................................................................................15 2.4. GESTO DE UM HOTEL .....................................................................................................................................17

1. Introduo Concepo de Bases de Dados

Os sistema d informao no podem assegurar solues eficientes aos diferentes problemas e de uma organizao se o conjunto de dados existentes no estiverem devidamente organizados, no sentido de poderem ser acedidos e actualizados da melhor forma. Desde a dcada de setenta, diferentes tcnicas de gesto de bases de dados foram desenvolvidas. Os sistemas de informao necessitam de sistemas de bases de dados para organizar a informao a armazenar, processar, manter e distribuir pelos diferentes intervenientes de uma organizao. Este captulo apresenta os conceitos bsicos associados concepo de um esquema de base de dados. Para isso necessrio saber a melhor forma de identificar, caracterizar e relacionar as diversas entidades associadas ao domnio em causa. Genericamente, o processo de concepo de um esquema conceptual de base de dados efectuado atravs dos seguintes passos:

a) Identificao das entidades do domnio em estudo b) Caracterizao de cada uma das entidades atravs da definio dos seus atributos. c) Estabelecimento dos relacionamentos entre as referidas entidades.

1.1.

Modelos de Dados

Existem diferentes modelos de dados que servem de suporte conceptual ao sistema de gesto de uma bases de dados. Saber qual o modelo de dados subjacente a um determinado sistema de base de dados fundamental para determinar a forma como ser efectuado desenvolvimento do esquema da base de dados. Existem diversos modelos de bases de dados, tais como o modelo hierrquico, o modelo em rede, o modelo relacional e o modelo de dados orientado a objectos. O modelo de dados relacional o modelo mais utilizado e por essa razo ser o modelo a desenvolver.

1.1.1. Modelo Relacional

O modelo de dados relacional desenvolvido em 1970 por E. Codd baseado em tabelas (figura 1.1) bidimensionais (designadas por relaes). As linhas representam registos associados a uma determinada entidade e as colunas representam os atributos (campos) da referida entidade. De uma forma muito simples, uma base de dados considerada um conjunto de tabelas bidimensionais. Estas tabelas podem ser consideradas ficheiros de dados e deste modo podemos afirmar que uma base de dados (figura 1.2) constituda por um conjunto de ficheiros.

Campo 1
Reg. 1 Reg. 2 Reg. 3 Reg. 4 Reg. 5 Reg. m

Campo 2

Campo 3

Campo 4

Campo n

Figura 1.1 Ficheiro de dados ou Tabela

A mais pequena estrutura de dados existente com que o computador lida o bit (0 ou 1 em representao binria); a seguir o byte (conjunto de 8 bits) que pode formar um carcter alfanumrico, tal como uma letra, um smbolo ou um nmero; a seguir um campo, que pode representar um conjunto de caracteres alfanumricos, um nmero, ou mais recentemente, um fazer referncia a qualquer elemento multimdia (imagem, vdeo, som, entre outros). Seguindo a hierarquia, surge o registo que um conjunto relacionado de campos, ou seja, um determinado registo caracterizado pelos respectivos campos. Um ficheiro (ou tabela) um conjunto de registos associados a uma determinada entidade. Por fim e no topo desta hierarquia de estruturas de dados surge a base de dados que consiste de um conjunto de ficheiros. Esta hierarquia de estruturas de dados est ilustrada na prxima figura.

Base de Dados
Conjunto de

Ficheiro
Conjunto de

Registo
Conjunto de

Campo
Conjunto de

Byte
Conjunto de

Bit

Figura 1.2 Hierarquia de Estruturas de Dados

1.2.

Conceitos Bsicos

Esta seco apresenta a terminologia bsica associada gesto de bases de dados relacionais, de modo a facilitar a concepo e desenvolvimento de esquemas conceptuais de bases de dados perante o modelo relacional. Campo Um campo (ou item) de dados permite representar um determinado atributo que caracteriza uma determinada entidade. Por exemplo, um cheque bancrio consiste dos seguintes campos: nmero do cheque, nome do titular da conta, data, montante em numerrio, montante por extenso, entre outros campos. Cada campo identificado por um nome (nome do campo) e tem um valor especfico associado. Por exemplo, o valor 335456476 pode ser o valor atribudo ao campo cujo nome nmero do cheque.

Registo O conjunto relacionado de campos associados a uma determinada entidade. Por exemplo, um cheque bancrio, constitui um registo. Tratado como uma nica unidade, um cheque bancrio representado atravs de um registo caracterizado por um conjunto de campos. Cada campo associado a um registo tem um determinado tamanho e tipo de dados (numrico, alfanumrico ou uma referncia a outro objecto de dados).

Chave do Registo De forma a distinguir um registo especfico de outro, existe um campo (ou conjunto de campos) que definem a chave de cada registo. Este campo ou conjunto de campos designado por chave, chave do registo, atributo chave ou simplesmente chave. Uma caracterstica bsica de um campo chave o facto do seu valor ser obrigatoriamente nico, ou seja, um campo chave no pode ter duplicaes. Exemplos comuns de campos chave so diversos: nmero de uma factura, cdigo de um cliente, nmero de um cheque, nmero de uma conta bancria, nmero de uma aplice de seguro, referncia de um produto, referncia de um livro, cdigo (ou nmero) de um aluno, nmero de contribuinte ou nmero de bilhete de identidade. Os campos chave tm diferentes utilizaes na organizao, sendo sua principal utilidade a identificao rpida e eficiente do registo em causa.

Entidade Um entidade uma qualquer pessoa, lugar, objecto ou evento de interesse da organizao em estudo. Por exemplo, associado ao domnio de uma universidade, temos aluno, professor, curso, disciplina, funcionrio, entre outras, como entidades associadas organizao. Cada entidade caracterizada por um conjunto de atributos.

Ficheiro (ou tabela) Um ficheiro constitudo por um conjunto de registos relacionados. Cada registo de um ficheiro refere-se sempre mesma entidade. Por exemplo, um ficheiro de alunos tem um conjunto de registos associados entidade aluno. Um ficheiro de clientes tem registos associados entidade cliente, isto , cada registo representa um determinado cliente.

De modo a facilitar a representao da estrutura de uma entidade atravs de um ficheiro (tabela), vamos utilizar uma notao simples no que diz respeito caracterizao da entidade atravs dos seus atributos (campos), incluindo o atributo chave. Assim, como exemplo da notao a utilizar, na figura 1.3., temos uma estrutura possvel de um ficheiro de clientes associado ao domnio empresarial.

Cliente
Nome do ficheiro

Cdigo do Cliente Nome Morada Cdigo Postal Telefone Fax NBI N.Contrib. Profisso

Campo Chave

1.3. - Estrutura de um ficheiro de clientes

1.3.

Relacionamentos entre as entidades

A gesto de bases de dados permite a partilha de dados entre diferentes aplicaes. Como j foi referido, a concepo de um esquema conceptual de base de dados implica a identificao das entidades do domnio, a caracterizao dessas entidades atravs da definio dos seus atributos e a definio dos relacionamentos entre as entidades da organizao em estudo.

1.3.1. Multiplicidade dos Relacionamentos entre Entidades De modo a representar atravs de uma base de dados a realidade de uma organizao, necessrio ter em conta diferentes tipos de relacionamentos existentes entre entidades. Existem trs tipos bsicos de relacionamentos: de um para um (1:1), de um para muitos (1:N) e de muitos para muitos (N:M).

Relacionamentos de um para um (1:1) Este relacionamento representa a associao entre duas entidades em que uma certa entidade est relacionada com uma e s uma outra entidade. Por exemplo (figura 1.3.) um homem e uma mulher atravs do matrimnio catlico. Homem
1 1

Mulher

Figura 1.4. Notao grfica para representar um relacionamento de um para um.

Relacionamentos de um para muitos (1:N) Este relacionamento representa a associao entre entidades em que uma certa entidade est relacionada com um conjunto de outras entidade. Por exemplo (figura 1.4.), um cliente de uma determinada empresa pode efectuar uma ou mais (N) encomendas de um determinado produto comercializado pela empresa. Cliente
1 N

Encomenda

Figura 1.5. Notao grfica para representar um relacionamento de um para muitos.

Relacionamento de muitos para muitos (N:M) Este relacionamento representa a associao entre entidades em que um conjunto de entidades est relacionado com outro conjunto de outras entidades. Quando uma entidade x se relaciona com muitas entidades y e a entidade y se relaciona com muitas entidades x, temos um relacionamento de muitos para muitos (N:M). Por exemplo (figura 1.4.), um aluno universitrio tem muitas disciplinas e uma disciplina leccionada para muitos alunos. Aluno
N M

Disciplina

Figura 1.6. Notao grfica para representar um relacionamento de muitos para muitos.

O modelo de dados relacional no permite a representao explcita de relacionamentos de muitos para muitos. De modo a resolver esta limitao do modelo relacional necessrio criar uma entidade adicional designada por entidade de interseco. Assim, perante o exemplo acima apresentado, surge a entidade de interseco Aluno/Disciplina (figura 1.7.). Esta entidade permite converter o relacionamento de muitos para muitos em dois relacionamentos de um para muitos.

Aluno
N 1 M

Disciplina
1

Aluno / Disciplina
N N

Figura 1.7. Processo de converso de um relacionamento do tipo N:M para dois relacionamentos do tipo 1:N.

1.3.2. Diagrama de Entidades-Relacionamentos (E-R) Os exemplos de relacionamentos entre entidades acima mencionados so representados atravs de diagramas entidades-relacionamentos (E-R). Um diagrama E-R representa o conjunto de relacionamentos existentes entre as entidades do domnio em estudo. Existem diversas notaes para um diagrama E Vamos ter em conta a notao dos exemplos -R. anteriores com a utilizao adicional do atributo (ou campo) de juno. Este atributo permite efectuar o relacionamento estrutural entre duas entidades. De modo a clarificar este conceito e na continuao do exemplo anterior referente a uma universidade, a figura 1.8, apresenta o esquema conceptual de algumas entidades de uma universidade. Neste exemplo, o cdigo do curso o atributo de juno que permite estabelecer o relacionamento entre as entidades curso e aluno.

Cd. do curso

Aluno

1
Cd. disciplina Cd. aluno

Cd. do aluno Nome Cd. do curso Data de inscrio 1 N

Disciplina
Cd. da disciplina Disciplina rea disciplinar

Aluno / Disciplina
Cd. do aluno Cdigo da disciplina

Curso

Cd. do curso Curso Cd. departamento Durao Cd. Departamento

Departamento
Cd. do departamento Departamento Nome do director

Figura 1.8. parte de um diagrama E-R associado a uma universidade

O esquema conceptual apresentado na figura 1.8 associado a parte do domnio de uma universidade est representado atravs de um diagrama E-R com as entidades caracterizadas atravs dos seus atributos. Os relacionamentos entre as entidades tm subjacente uma multiplicidade e um atributo comum (atributo de juno) que permite a implementao de cada relacionamento. Por exemplo um departamento tem associado um conjunto de cursos (relacionamento com multiplicidade 1:N) e o atributo de juno que implementa tal relacionamento o cdigo do departamento.

10

2. Exerccios Propostos

As bases de dados permitem que os dados associados a uma organizao possam ser partilhados atravs de diferentes aplicaes, deste modo a estrutura conceptual de uma base de dados tem de necessariamente ser gerida atravs de um gestor de base de dados, de modo a que o conjunto de dados possa ser devidamente representado, acedido, manipulado e partilhado.

Este captulo apresenta alguns casos de estudo no sentido de desenvolver esquemas conceptuais de bases de dados para posterior implementao e utilizao atravs do gestor de bases de dados Microsoft Access. Este gestor de bases de dados uma das diversas aplicaes comerciais de software que permitem implementar uma base de dados de modo a possibilitar ao utilizador a funcionalidade necessria a nvel de implementao e desenvolvimento, tendo em conta um conjunto de ferramentas que facilitam a concepo, manipulao e visualizao da base de dados com o objectivo de facilitar a interface entre utilizador e o computador.

11

2.1. Gesto de Encomendas


Considerar uma empresa genrica de compra e venda de um determinado segmento de produtos. A empresa compra determinados produtos a um conjunto de fornecedores e vende esses produtos aos seus clientes. Cada encomenda efectuada (figura 2.1.) por um cliente da empresa est associada a um conjunto de produtos.

N da Encomenda: 1045 Codigo do Cliente: 34 Nome: Joo Moreira Morada : R. Antnio Pinto de Aguiar, 125 4100 Porto NContribuinte: 754643867 Produtos: Ref. CD201 AP503 DP505 ED100 FT234 CD201 AP503

Data: 06 / 04 / 99

Designao Papel A4 CD-RW Disquetes Monitor 17 CD-ROM Papel A4 CD-RW

Preo Unit. 800 Esc. 3500 Esc. 850 Esc. 93500 Esc. 450 Esc. 800 Esc. 3500 Esc.

Qtd 25 10 20 4 23 45 15

Taxa IVA 12% 17% 17% 17% 17% 12% 17%

Val. s/IVA 20.000 Esc. 35.000 Esc. 17.000 Esc. 374.000 Esc. 10.350 Esc. 36.000 Esc. 52.500 Esc.

Val. c/IVA 22.400 Esc. 40.950 Esc. 19.890 Esc. 437.580 Esc. 12.110 Esc. 40.320 Esc. 61.425 Esc.

Total s/IVA: 544.850 Esc. Total c/IVA:

634.675 Esc.

Fig 1. Exemplo de uma encomenda de um cliente empresa

1) Construa um esquema conceptual associado ao domnio atrs descrito. a) Faa a caracterizao das entidade. Crie a estrutura adequada de cada tabela de informao tendo em conta a atribuio correcta de cada tipo de dados aos respectivos campos de informao e os relacionamentos entre as tabelas a definir posteriormente. b) Defina os relacionamentos que entende necessrios entre as tabelas de informao (entidades). Construa o diagrama entidades-relacionamentos (E-R). 2) Introduza dados em cada tabela tendo em conta o que definiu anteriormente.

12

3) Construa as seguintes consultas de modo a visualizar: a) Listagem dos clientes da empresa. Campos a visualizar: cdigo do cliente, nome, morada, cdigo postal, localidade e profisso. b) Listagem dos produtos encomendados por um determinado cliente. Dados a visualizar: ref. do produto, designao, preo unitrio, quantidade, taxa do IVA, valor sem IVA e valor com IVA.

4) Construa os seguintes formulrios: a) Formulrio associado a tabela de encomendas. Associar uma caixa de combinao ao campo cdigo do cliente de modo a visualizar o seu nome. b) Formulrio e subformulrio que permitam visualizar as encomendas efectuadas por cada cliente. Utilizar a ferramenta subformulrio de forma a construir o formulrio e o subformulrio associado.

2.2. Gesto de uma Clnica Mdica


Considere os servios prestados e os diferentes processos associados a uma clnica mdica. Existe um conjunto de mdicos que asseguram as diversas especialidades (oftalmologia, pediatria, dermatologia, etc). Cada mdico assegura uma ou mais especialidades e tem um consultrio prprio. Os restantes dados associados aos mdicos so os seguintes: nome e data de admisso e data de nascimento. Na recepo da clnica so registadas as consultas. Cada consulta est associada a um determinado paciente e a um determinado mdico. Os restantes dados de uma consulta so os seguintes: descrio, medicao e data/hora da consulta. Em relao aos pacientes necessrio registar o nome, morada, cdigo postal, telefone, profisso, n de contribuinte e n de beneficirio. Periodicamente, efectuam-se diagnsticos que descrevem a evoluo do tratamento e a situao actual de cada paciente da clnica.

13

1) Crie a estrutura adequada de cada tabela de informao tendo em conta a atribuio correcta de cada tipo de dados aos respectivos campos de informao e os relacionamentos entre as tabelas a definir posteriormente. 2) Defina os relacionamentos que entende necessrios entre as tabelas de informao. Construa o diagrama entidades-relacionamentos (E-R). 3) Introduza dados em cada tabela, tendo em conta o que definiu anteriormente. 4) Construa as seguintes consultas: a) Listagem de todas as consultas associadas a um determinado paciente. Dados a visualizar: nda consulta, cdigo do mdico, nome do mdico, medicao e data/hora da consulta. b) Dada uma determinada especialidade, obter uma listagem dos mdicos que asseguram essa especialidade. Dados a visualizar: cdigo do mdico, nome e n do consultrio. 5) Construa dois formulrios associados s tabelas de pacientes e consultas. a) Construir o formulrio de consultas com o formato tabular. Associar trs botes que permitam respectivamente sair do formulrio, abrir o formulrio de pacientes e criar um novo registo. b) O formulrio de pacientes deve conter uma caixa de combinao associada ao cdigo do mdico.

14

2.3. Gesto de Projectos


Uma empresa de prestao de servios necessita de informatizar parte das suas actividades, nomeadamente, a gesto de projectos a clientes. Deste modo, necessrio efectuar um estudo para a implementao de uma base de dados. A empresa desenvolve vrios projectos em simultneo a pedido de diversos clientes. Podem existir mais do que um projecto em curso para um determinado cliente, mas cada projecto s tem associado um determinado cliente. Os dados a armazenar para posterior tratamento so os seguintes: nome, morada, cdigo postal, telefone e n de contribuinte do cliente. Em relao aos projectos, a descrio do projecto, a data de inicio e a data de concluso do projecto. Em cada projecto participam diversos funcionrios da empresa. Os dados dos funcionrios a armazenar so os seguintes: nome, data de admisso, cdigo do cargo que desempenha e o valor do vencimento / hora. Outros dados a considerar: Oramento de cada projecto pedido por cada cliente e o preo final resultante.

Nmero total de horas de servio em cada projecto efectuadas por cada funcionrio da empresa.

1) Crie a estrutura adequada de cada tabela de informao tendo em conta a atribuio correcta de cada tipo de dados aos respectivos campos de informao e os relacionamentos entre as tabelas a definir posteriormente. 2) Defina os relacionamentos que entende necessrios entre as tabelas de informao. Construa o diagrama entidades-relacionamentos (E-R). 3) Introduza dados em cada tabela tendo em conta o que definiu anteriormente.

15

4) Construa as seguintes consultas: a) Listagem do(s) projecto(s) associado(s) a um determinado cliente. Dados a visualizar: n do projecto, descrio do projecto, data de inicio, oramento, data de concluso e preo final. b) Dado um determinado projecto, obter uma listagem dos funcionrios que participaram nesse projecto. Dados a visualizar: cdigo do funcionrio, nome, cdigo do cargo, cargo, vencimento / hora e valor a receber nesse projecto. 5) Construa os seguintes formulrios: a) Um formulrio para cada uma das seguintes tabelas: clientes, projectos, funcionrios e cargos. b) No formulrio de funcionrios, associar uma caixa de combinao ao campo cdigo do cargo e um boto que permita fechar o formulrio. No formulrio de projectos associar dois botes que permitam respectivamente criar um novo registo e fechar o formulrio. a) Um formulrio que permita aceder aos restantes formulrios (clientes, projectos, funcionrios e cargos) com o seguinte formato:

Gesto de Projectos

Clientes

Projectos

Funcionrios

Cargos

16

2.4. Gesto de um Hotel


Considere os servios prestados e os diferentes processos inerentes ao funcionamento de um hotel. Existe um conjunto de empregados e de administradores que constituem o pessoal que assegura as diferentes tarefas desenvolvidas no hotel. Associado ao pessoal necessrio registar os seguintes dados: nome, morada, cdigo postal, telefone e cdigo do cargo que desempenha e vencimento recebido por cada hora de trabalho. Existe um arquivo de hspedes, onde se regista o nome, a morada, o cdigo postal, a profisso e a data de nascimento. Na recepo so efectuados os registos de alugueres de quartos aos respectivos hspedes (cada registo de aluguer diz respeito a um determinado hspede), assim como so efectuadas reservas atravs do telefone ou fax. Os restantes dados associados a um registo de aluguer so os seguintes: data de entrada, data prevista de sada e nmero do quarto. Ainda associado a um registo de aluguer, pelo facto do hotel ter um atendimento personalizado, um ou mais empregados do hotel ficam responsveis pela estadia do(s) hspede(s). necessrio ter em conta que existe um controlo das horas de servio que cada empregado despendeu com a estadia de cada hspede(s), ou seja, com cada quarto associado a um registo de aluguer. Associado s reservas necessrio registar o nome do hospede, a data de entrada e o tipo de quarto que pretende (individual, duplo, casal ou suite). Para cada quarto existente no hotel necessrio registar o tipo de quarto, o preo por dia e determinadas observaes referentes s caractersticas especficas do quarto.

1) Crie a estrutura adequada de cada tabela de informao, tendo em conta a atribuio correcta de cada tipo de dados aos respectivos campos de informao e os relacionamentos entre as tabelas a definir posteriormente. 2) Defina os relacionamentos que entende necessrios entre as tabelas de informao. 3) Introduza dados em cada tabela tendo em conta o que definiu anteriormente.

17

4) Construa as seguintes consultas: a) Listagem referente a todas as estadias de um determinado hspede (por exemplo, do hspede com cdigo 68). Dados a visualizar: n do registo de aluguer, data de entrada, data de sada, o n do quarto e o respectivo tipo de quarto. b) Listagem dos empregados que estiveram responsveis por uma determinada estadia (por exemplo a estadia r eferente ao n de registo de aluguer 214). Dados a visualizar: nome, morada, cdigo postal, localidade, cargo que desempenha e valor (vencimento) a receber relativo estadia (registo de aluguer) em causa.

5) Construa dois formulrios associados s tabelas de hspedes e alugueres. a) Associar quatro botes ao formulrio de alugueres que permitam aceder ao registo seguinte, aceder ao registo anterior, criar um novo registo e fechar o formulrio.

b) No formulrio de hspedes, criar uma caixa de combinao associada ao campo cdigo postal e criar um boto que permita abrir o formulrio de alugueres. c) Criar uma estrutura com o formato formulrio / subformulrio associada aos funcionrios e alugueres, de modo a visualizar as estadias em que cada funcionrio responsvel.

18

Vous aimerez peut-être aussi