Académique Documents
Professionnel Documents
Culture Documents
Maro 1999
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.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
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.
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
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
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.
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
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
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
Disciplina
Cd. da disciplina Disciplina rea disciplinar
Aluno / Disciplina
Cd. do aluno Cdigo da disciplina
Curso
Departamento
Cd. do departamento Departamento Nome do director
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
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
Preo Unit. 800 Esc. 3500 Esc. 850 Esc. 93500 Esc. 450 Esc. 800 Esc. 3500 Esc.
Qtd 25 10 20 4 23 45 15
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.
634.675 Esc.
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.
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
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
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