You are on page 1of 24

BASES DE DADOS

IN NT TR RO OD DU U O OA AO OS S SGBD
( (U UM MG GU UIIA AB B S SIIC CO OD DA AS S R RIIE E H HO OW WT TO O ) )

Almada, JAN2010

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

NDICE
ALGUNS CONCEITOS FUNDAMENTAIS ...................................3 DOS FICHEIROS DE DADOS AOS SGBD ..................................4
NVEIS DE ARQUITECTURA DE UM SGBD .................................................... 5 PRINCIPAIS TIPOS DE OPERAES COM UM SGBD ..................................... 5 Operaes de Definio de Dados ......................................................... 6 Operaes de Manipulao de Dados ..................................................... 6 Operaes de Controlo de Dados ........................................................... 6

MODELOS DE BASES DE DADOS ............................................7


MODELO HIERRQUICO ............................................................................. 7 MODELO DE REDE.................................................. Erro! Marcador no definido. MODELO ENTIDADE-RELAO ............................... Erro! Marcador no definido. Valores e Domnio ................................................................................ 8 Atributo Identificador ........................................................................... 8 Chave ................................................................................................... 8 Relacionamentos .................................................................................. 9 Relaes Unrias .................................................................................. 9 Relaes Binrias.................................................................................. 9 Relaes Ternrias ................................................................................ 9 Ainda sobre Relacionamentos Binrios.................................................... 10 PROPRIEDADES das Tabelas e REGRAS da sua constituio ....................... 10 CHAVES DE UMA TABELA ..................................................................... 11 Regras de escolha para uma Chave Primria ........................................... 11 Representao de uma Tabela: ............................................................. 11 RELACIONAMENTOS E CHAVES EXTERNAS.............................................. 12 CHAVE EXTERNA ................................................................................ 12 INTEGRIDADE .................................................................................... 13

MODELAO DA INFORMAO E DESIGN DE UMA BD .........14


OBJECTIVOS A ATINGIR NUM PROJECTO DE BASE DE DADOS.................... 14 FASES DUM PROJECTO DE CRIAO DE UMA BASE DE DADOS ................... 14 ESTRATGIAS PARA A CONCEPO DE UMA BASE DE DADOS .................... 15 Abordagem Top Down......................................................................... 15 Situao em que necessria uma nica tabela .................................. 15 Situao em que so necessrias duas tabelas .................................... 16 Relacionamento um-para-um................................................................ 16 Relacionamento de um-para-N .............................................................. 17 Situaes em que so necessrias Trs Tabelas .................................. 17 Relacionamento do tipo N-para-N .......................................................... 18 Relacionamentos do tipo um-para-N (no obrigatria do lado N) ................ 19 Relacionamentos um-para-um sem participao obrigatria ....................... 19

DESENHO DE UMA BASE DE DADOS.....................................20


UM EXEMPLO CONCRETO .......................................................................... 20 Atributos ............................................................................................ 20 Relaes............................................................................................. 20 As Tabelas .......................................................................................... 22 Relacionamentos ................................................................................ 24
Carlos M. M. Nascimento

BD Text

Vrs.2010.01

Pgina 2 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

BASES DE DADOS APONTAMENTOS


ALGUNS CONCEITOS FUNDAMENTAIS
A descrio dos dados e das suas relaes geralmente de dois tipos: lgica e fsica. Descrio Lgica referindo-se forma como o programador ou o utilizador vem os dados; Descrio Fsica referindo-se forma com os dados so gravados e/ou armazenados nos diversos media que os suportam. Das muitas palavras usadas frequentemente na descrio dos DADOS, vamos referir algumas e o seu significado, de acordo com a CODASYL (Conference on Data Systems Languages). BIT Abreviatura de BInary digiT, a mais pequena poro da memria de um computador que pode armazenar informao. BYTE o mais pequeno grupo de Bits (8 por conveno) que pode ser enderevel ou referenciado. CAMPO DE DADOS ELEMENTAR (Data Item) a mais pequena unidade de dados a que se pode atribuir um nome, constituda por um ou mais bytes. CAMPO DE DADOS AGREGADOS (Data Aggregate) um conjunto de Campos de Dados Elementares ao qual se pode dar um nome que os refira como um todo. Ex.: DATA_NASC pode ser um agregado de DIA, MS e ANO. REGISTO (Record) um conjunto de Campos de Dados Agregados e/ou Elementares, relacionados entre si e que, no seu todo, integram a mesma entidade.

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 3 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

FICHEIRO (File) Ficheiro um conjunto de Registos com caractersticas idnticas e referindose mesma coleco de dados. Ex.: CLIENTES, ALUNOS, MEUS_LIVROS, etc.

DOS FICHEIROS DE DADOS AOS SGBD


BASE DE DADOS (Data Base) uma coleco de dados inter-relacionados, armazenados sem redundncias e de forma independente dos programas que os vo usar, estruturados para servir mltiplas aplicaes. SISTEMA DE BASES DE DADOS (Data Base System) um conjunto de Bases de Dados, cujos contedos so assumidamente separados e disjuntos. SISTEMA DE GESTO DE BASES DE DADOS (SGBD) (Data Base Management System (DBMS)) um software que, recorrendo a linguagens especiais para Bases de Dados, resolve as chamadas (aos dados) dos programas e dos utilizadores (para consultas ou actualizaes), e garante a manuteno da integridade dos dados. Num SGBD os dados so estruturados de forma independente dos programas que os exploram, sendo assim possvel a sua alterao, quer ao nvel fsico, quer ao nvel lgico, sem que haja necessidade de alterar esses programas. NOVOS CONCEITOS EM BASES DE DADOS Em Bases de Dados, os conceitos de Ficheiro, Registo e Campo, correspondem, uma vez que os dados so representados em estruturas tabulares, aos conceitos de Tabela, Linha e Coluna. BASES DE DADOS FLAT-FILE Quando as bases de dados e os programas que as exploram no tm a capacidade de operar sobre mais do que uma nica tabela, dizem-se Bases de Dados Monotabela ou Flat-File. o caso de algumas folhas de clculo, como o Excel.

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 4 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

NVEIS DE ARQUITECTURA DE UM SGBD


So as diversas formas como so entendidos os SGBD. NVEL FSICO Trata da forma como os dados so armazenados em suportes informticos, a sua estrutura e organizao nesses suportes; so os ficheiros em disco ou disquete. NVEL CONCEPTUAL Trata da estrutura orgnica dos dados dentro da base de dados; so as tabelas e os seus relacionamentos. NVEL DE VISUALIZAO Trata da forma como os dados so apresentados aos utilizadores finais; os interfaces grficos proporcionados pelo SGBD.

PRINCIPAIS TIPOS DE OPERAES COM UM SGBD


Algumas operaes sobre os dados de uma Base de Dados: Inserir novas linhas, Procurar e visualizar uma linha, Eliminar linhas existentes, Seleccionar linhas e/ou colunas, Ordenar as linhas de uma tabela, Juntar ou intercalar linhas de tabelas diferentes, Fazer cpias ou duplicao de tabelas, Alterar a estrutura das colunas de uma tabela, Eliminar tabelas, Etc. etc.
BD Text Vrs.2010.01

Carlos M. M. Nascimento

Pgina 5 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

So normalmente agrupveis em: OPERAES DE DEFINIO DE DADOS e alterao da estrutura de uma base de dados, com recurso a LDD, Linguagem de Definio de Dados (ou DDL, Data Definition Language): Criao de uma nova base de dados Criao de uma nova tabela Alterao da estrutura de campos de uma tabela Criao e alterao de ndices Eliminao de tabelas. OPERAES DE MANIPULAO DE DADOS sem alterao da estrutura de uma base de dados, com recurso a LMD, Linguagem de Manipulao de Dados (ou DML, Data Manipulation Language): Consultas ou pesquisas de dados Insero de novos dados (linhas) Alterao de dados existentes (linhas e campos) Eliminao de dados (linhas). OPERAES DE CONTROLO DE DADOS Atribuio/supresso de direitos de acesso aos dados a utilizadores ou grupos de utilizadores. As operaes do tipo 1) situam-se ao nvel conceptual ou lgico, enquanto as dos tipos 2) e 3) se situam ao nvel da visualizao. LINGUAGEM HOSPEDEIRA (Host Language) Para alm das linguagens referidas, um SGBD disponibiliza normalmente uma linguagem de programao prpria, com o objectivo de facilitar o desenvolvimento de aplicaes com as Bases de Dados. No caso do Microsoft Access, utilizada uma verso da linguagem VBA, Virtual Basic for Applications. ESQUEMA DE UMA BD (ou CONCEPO) o design ou estrutura lgica da BD, o modo como concebida a organizao da informao.
BD Text Vrs.2010.01

Carlos M. M. Nascimento

Pgina 6 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

O Esquema feito segundo um modelo conceptual, e implementado num SGBD, atravs da sua LDD. INSTNCIA DE UMA BD o conjunto dos dados concretos que uma BD tem num certo momento. A instanciao feita atravs da LMD. Por cada alterao de dados considerada uma nova instncia.

MODELOS DE BASES DE DADOS


O desenvolvimento do esquema de uma BD pode ser efectuado segundo diferentes modelos conceptuais, dos quais de destacam os seguintes: Modelo Hierrquico Modelo de Rede Modelo E-R, Entidade-Relao Modelo Relacional

MODELO HIERRQUICO
um modelo em que os registos se encontram ligados entre si segundo uma estrutura arborescente, de dependncia hierrquica. Se um registo for apagado, todos os outros que dele dependem, i. e, que esto pendurados em ramos da estrutura que nasceram do anterior, sero tambm apagados.

MODELO DE REDE
Nesta estrutura tambm os registos se relacionam, mas no segundo o modelo arborescente. A imagem no tem a sua semelhana, se alguns ramos nascessem de mais do que um ramo(!). H maior flexibilidade nesta ligaes.

MODELO ENTIDADE-RELAO
Procura representar a realidade atravs dos conceitos de entidade e de relacionamento. Entidade pode representar pessoas, organizaes, coisas. Relao pode representar as relaes entre as entidades.

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 7 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

As Entidades so caracterizadas por Atributos, i. e, os seus elementos e propriedades. Ex. A Entidade EMPREGADO pode ser definida pelos Atributos: Nome, Idade, Cargo, Vencimento. Graficamente uma Entidade costuma ser representada por um rectngulo e os seus Atributos por elipses a ele ligadas por linhas, ou ento por uma lista de nomes, em que o primeiro a Entidade. As Entidades, como Empregado, representam globalmente um conjunto (Classe) de empregados e no, especificamente, um. Uma Entidade ou Classe de entidades corresponde a uma Tabela. Os vrios elementos da Entidade correspondem s diversas Linhas da Tabela, uma por cada um. Os Atributos da Entidade correspondem aos campos da Tabela, Colunas. VALORES E DOMNIO Os Atributos de uma Entidade so preenchidos com Valores, como o nome concreto de um empregado, a idade, etc. Estes Valores so assumidos a partir de um conjunto de valores possveis designado Domnio. Por exemplo, o atributo Idade poder assumir um Valor numrico vlido, i. e, definido no Domnio entre os 18 e os 65 anos se fosse esse o intervalo. ATRIBUTO IDENTIFICADOR aquele Atributo de uma Entidade ou Classe que permite identificar com preciso, sem ambiguidade, cada Entidade concreta. Por exemplo o atributo Nome, ou o atributo Nmero, da Classe Empregado, permite identificar exactamente uma determinada Entidade Empregado (um certo funcionrio). CHAVE So os Atributos Identificadores que so designados para serem usados como argumento de pesquisa, ou identificao, da Entidade dentro da Classe, sendo para o efeito utilizados para a criao de um Ficheiro de ndices, que vai servir para providenciar o mais rpido acesso a uma Entidade.
BD Text Vrs.2010.01

Carlos M. M. Nascimento

Pgina 8 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

RELACIONAMENTOS Faz parte do Esquema da Base de Dados definir as Relaes existentes entre as diversas entidades. Estas Relaes podem ser classificadas quanto ao nmero de Entidades envolvidas nessa relao. Assim:
Relaes Unrias

Uma Classe mantm um Relacionamento consigo prpria.


Ex.: Neste caso um Estudante gere a sua prpria progresso.

Relaes Binrias

Sempre que entre duas Entidades ou Classes se percebe qualquer forma de Relacionamento.
Ex.: Os Livros de uma biblioteca e os Leitores que os vo ler, etc. Os Alunos de uma escola e os cursos que frequentam;

Relaes Ternrias

Em situaes em que envolvem simultaneamente trs Entidades no mesmo Relacionamento.

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 9 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

Ex.:

Qual o Professor que ensina a Disciplina D ao Estudante E?

Ainda sobre Relacionamentos Binrios

Este Relacionamento um dos mais comuns. Dele depende em grande parte o nmero das Tabelas que constituem a Base de Dados. Assim, considera-se esta Relao Quanto ao nmero de elementos de uma Entidade que se relacionam com os elementos de outra: Relaes de um-para-um; Relaes de um-para-vrios ou vrios-para-um; Relaes de vrios-para-vrios. e Quanto participao obrigatria ou no obrigatria dos elementos de uma Entidade na Relao: Participao obrigatria de ambas as Entidades; Participao no obrigatria de uma das duas Entidades; Participao no obrigatria de nenhuma das Entidades. Nota: No Modelo Relacional, as Tabelas podem tambm ser designadas por Relaes, as suas Colunas por Atributos e as suas Linhas por Tuplos.
PROPRIEDADES das Tabelas e REGRAS da sua constituio

A ordem por que se dispem as Colunas (campos ou Atributos) e as Linhas (registos ou Tuplos) de uma Tabela (Relao) no importante e pode ser alterada sem que isso modifique o significado da informao contida na Tabela. No pode haver duas Colunas (campos ou Atributos) com o mesmo nome; No deve haver Campos vazios: caso o valor de um campo seja desconhecido ou no aplicvel, este deve ser preenchido com un valor nulo especial; O domnio de todos os atributos deve ser constitudo por valores atmicos, i. e, no permitido que um campo tenha mais do que um valor;
BD Text Vrs.2010.01

Carlos M. M. Nascimento

Pgina 10 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

Cada Linha da Tabela representa uma entidade ou ocorrncia nica; no pode haver registos (Tuplos) duplicados.
CHAVES DE UMA TABELA

J se disse que a Chave o Atributo Identificador e acrescenta-se agora que pode ser formada por um conjunto de Atributos. Pode no entanto ser constituda por apenas um Atributo, e uma Chave Simples, ou por mais do que um Atributo e , neste caso, uma Chave Composta ou Chave Concatenada. Todas as Chaves possveis para uma Tabela, simples ou compostas, so designadas como Chaves Candidatas. De entre as Chaves Candidatas, aquela que foi escolhida ser designada por Chave Primria.
Regras de escolha para uma Chave Primria

Ser unvoca: - os Atributos que a constituem devem ter (ou formar) um valor nico para cada entidade concreta (Tuplo); Ser no nula: - nenhum dos Atributos que a constituem poder conter um valor nulo, em nenhuma das entidades; Ser no redundante: - no caso de ser uma Chave Composta, deve conter apenas e to s os Atributos indispensveis identificao das Entidades; - uma vez integrando uma Chave Composta, um Atributo no pode ser retirado dela.

Representao de uma Tabela:

Uma Tabela pode representar-se pela indicao do nome da Entidade, seguida dos seus Atributos entre parntesis, e pela indicao (sublinhado ou em negro) de qual deles constitui a Chave, como se mostra nos exemplos:
BD Text Vrs.2010.01

Carlos M. M. Nascimento

Pgina 11 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

Fornecedores(CodForn, Nome, Endereo, Telef) Produtos(CodProd, NomeProd, Modelo)


RELACIONAMENTOS E CHAVES EXTERNAS

Numa Base de Dados (como a que tem as Tabelas referidas atrs), pretendemos muitas vezes respostas a perguntas como Quais os Produtos fornecidos pelo Fornecedor X? Quais os Fornecedores do Produto Y? Neste caso tem de estabelecer-se um Relacionamento N-N entre aquelas duas Tabelas (Entidades), pois cada Fornecedor pode fornecer mais do que um Produto e cada Produto pode ser fornecido por mais do que um Fornecedor. No Modelo Relacional isto s possvel criando uma Tabela Especial, Tabela de Relacionamento, a que chamaremos FORNECPRODUTO, (Fornecedores, Fornecem Produtos) assim:
FORNECEDORES FORNECPRODUTO PRODUTOS

CodForn NomeForn Endereo Telefone

CodForn CodProduto Preo

CodProduto NomeProduto Modelo

Na Tabela FORNECPRODUTO entram como Campos as Chaves de FORNECEDORES e de PRODUTOS.


CHAVE EXTERNA

Diz-se quando uma Chave de uma Tabela includa como Campo noutra Tabela. Numa Tabela de Relacionamento, a Chave Primria , normalmente, uma Chave Composta, constituda por Chaves Externas.

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 12 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

INTEGRIDADE

a garantia de consistncia da informao dentro de uma Base de Dados, quer durante a criao, quer durante as sucessivas modificaes. Esta garantia assegurada pelo SGBD. Uma Base de Dados Relacional deve assegurar dois tipos de Integridade: Integridade da Entidade Impe que os valores dos atributos correspondentes Chave Primria de uma entidade no possam ser nulos, nem iguais a outros j existentes. Integridade Referencial Um valor de uma Chave Externa tem obrigatoriamente de existir na Chave Primria da Tabela relacionada com aquela chave externa.

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 13 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

MODELAO DA INFORMAO E DESIGN DE UMA BD


OBJECTIVOS A ATINGIR NUM PROJECTO DE BASE DE DADOS
Tornar possvel a incluso de toda a informao relevante a ter em conta na Base de Dados; Evitar a redundncia ou repetio desnecessria da informao; Procurar assegurar a consistncia e integridade da informao perante as vrias formas de utilizao de uma Base de Dados; Proporcionar interfaces que apresentem a informao de uma forma fcil de compreender e utilizar por parte do utilizador da Base de Dados; Proporcionar formas de controlo do acesso informao em conformidade com as necessidades dos diversos tipos de utilizadores e a eventual necessidade de privacidade da informao.

FASES DUM PROJECTO DE CRIAO DE UMA BASE DE DADOS


Anlise da Situao para recolha da informao relevante a incluir na Base de Dados; Esboo da Estrutura Geral a elaborar em papel, descrevendo as entidades e as suas relaes, de acordo com a informao recolhida na fase anterior; Definio exacta de cada Entidade com a enumerao dos seus Atributos, indicando os Atributos Identificadores, Chaves, etc.. Determinao dos Relacionamentos entre as diversas Entidades; Eventual Reviso da Estrutura de Entidades, Atributos e Relacionamentos, segundo um processo de normalizao para que a informao fique correctamente estruturada, evitando as redundncias e falhas de consistncia; Derivao das Tabelas da Base de Dados a partir da estrutura de Entidades e Relacionamentos a que se chegou; Desenvolvimento do Esquema da Base de Dados num SGBD: - criao das Tabelas; - definio das Chaves Primrias e respectivos ndices; - estabelecimento de Relaes entre as Tabelas;
BD Text Vrs.2010.01

Carlos M. M. Nascimento

Pgina 14 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

- indicaes para a validao dos dados a introduzir e para assegurar a integridade da informao; - Eventual criao de programas de aplicao com interfaces grficos, menus de comandos, procedimentos de rotina ou de ajuda realizao de certas tarefas, tudo no sentido de tornar mais fcil a utilizao da Base de Dados.

ESTRATGIAS PARA A CONCEPO DE UMA BASE DE DADOS


Podem considerar-se duas metodologias para a concepo do esquema de uma Base de Dados ABORDAGEM TOP DOWN Abordagem partindo do geral para o particular (TOP DOWN) com derivao de Tabelas a partir do modelo E-R Existem regras bem definidas para determinar as tabelas que so necessrias em cada tipo de relacionamento Lembremos os tipos: 1) Quanto ao Grau ou Cardinalidade da Relao: i) um-para-um ii) um-para-vrios iii) vrios-para-vrios 2) Quanto obrigatoriedade de participao i) obrigatria em ambas as entidades ii) obrigatria em uma entidade e no obrigatria na outra iii) no-obrigatria em nenhuma das duas entidades. SITUAO EM QUE NECESSRIA UMA NICA TABELA Apenas quando o Relacionamento do tipo um-para-um, com participao obrigatria de ambas as entidades. Por exemplo, (um tanto forado), a empresa Tabelax, em que cada SCIO desempenha um CARGO, e em que cada CARGO desempenhado apenas por um
BD Text Vrs.2010.01

Carlos M. M. Nascimento

Pgina 15 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

SCIO. Alm disso, todos os Scio tm de desempenhar um Cargo e todos os Cargos tm de ser preenchidos. Parece apontar para a necessidade de duas Tabelas, a tabela SCIOS(Nome, Morada, Telefone) Ea CARGOS(Cargo, Vencimento). Porm este caso pode ser traduzido por uma nica tabela, SCIOS_1(Nome, Morada, Telefone, Cargo, Vencimento)

SITUAO EM QUE SO NECESSRIAS DUAS TABELAS Quando a) Relacionamento do tipo de um-para-um, com participao obrigatria de uma entidade e no obrigatria da outra, b) Relacionamento de um-para-N, ou N-para-um, com participao obrigatria do lado N. A Chave Primria de cada entidade serve de Chave Primria na tabela correspondente. A Chave Primria da entidade no obrigatria tem de ser usada como atributo na tabela da entidade obrigatria, onde Chave Externa. Ainda com o exemplo da empresa Tabelax:
Relacionamento um-para-um, com participao obrigatria de apenas uma entidade

Neste caso, cada Scio desempenha, no mximo, um cargo, nas no obrigatrio que desempenhe algum Cargo. So necessrias duas tabelas j que sendo apenas uma, alguns dos seus campos poderiam ficar em branco (Cargo).

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 16 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

Relacionamento de um-para-N com participao obrigatria do lado N

Aqui o SCIO pode desempenhar vrios CARGOS, logo o CARGO poder estar na relao mais do que uma vez. obrigatrio que todos os CARGOS sejam desempenhados por algum (participao obrigatria do lado do N) e pode haver SCIOS que no desempenhem nenhum CARGO

E as Tabelas SCIOS(Nome, Morada, Telefone) CARGOS(Cargo, Vencimento, Nome)

Na Tabela CARGOS, entra o campo Nome da Tabela SCIOS como Chave Externa, pois Chave Primria nessa Tabela.

SITUAES EM QUE SO NECESSRIAS TRS TABELAS Em todas as outras situaes de relacionamentos binrios so necessrias trs Tabelas: Duas correspondentes s duas Entidades, e uma terceira correspondente ao seu relacionamento. Isto ,

Em todos os relacionamentos do tipo N-para-N Em relacionamentos do tipo um-para-N ou N-para-um, em que se verifique participao no obrigatria do lado N Nos relacionamentos do tipo um-para-um em que no haja participao obrigatria de nenhuma das duas entidades.
Vrs.2010.01

BD Text

Carlos M. M. Nascimento

Pgina 17 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

Nestes casos, a tabela relativa aos relacionamentos ter de ter nos seus atributos as chaves primrias de cada uma das outras duas entidades. Exemplos de:
Relacionamento do tipo N-para-N

Fornecedores Fornecem Produtos Clientes Encomendam Produtos Leitores Requisitam Livros Alunos Frequentam Disciplinas

FORNECPRODUTOS
Onde FORNECEDORES(Nome, Endereo, Telefone) PRODUTOS(CodProd, NomeProd, Modelo) FORNECPRODUTOS(Nome, CodProd, Preo)

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 18 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

Com a incluso das Tabelas de Relacionamentos, uma relao inicial de N-para-N, passa a ser desdobrada em duas relaes: uma de um-para-N e outra de N-para-um.

Relacionamentos do tipo um-para-N com participao no obrigatria do lado N

No caso dos Scios e dos Cargos, os Cargos podem ser desempenhados por vrios Scios, mas pode haver Cargos no desempenhados por ningum.

DESEMPENHAM

Onde SCIOS(Nome, Morada, Telefone) CARGOS(Cargo, Vencimento) DESEMPENHAM(Nome, CARGO)

Relacionamentos um-para-um sem participao obrigatria de nenhuma entidade

Se cada Scio s pode desempenhar um Cargo, e cada Cargo s pode ser desempenhado por um Scio, mas se alm disso, pode haver Scios sem Cargo e Cargos sem serem desempenhados, torna-se conveniente criar uma terceira Tabela de Relacionamento, ainda para impedir espaos vazios nas Tabelas.

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 19 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

DESENHO DE UMA BASE DE DADOS


UM EXEMPLO CONCRETO
Uma empresa comercializa determinado tipo de artigos e pretende criar uma Base de Dados para registar as compras aos seus fornecedores e as vendas aos seus clientes. Pretende-se que a Base de Dados contenha informaes sobre os fornecedores e os produtos que eles fornecem, bem como sobre os cliente e sobre as vendas, com os respectivos detalhes das facturas. ATRIBUTOS Assim para cada entidade devem ser indicados os seguintes atributos:

Fornecedores: Artigos:

cdigo identificador, o nome, o endereo e o telefone cdigo identificador, designao, modelo e preo de venda normal. cdigo identificador, o nome, o endereo e o telefone nmero de factura, data, cdigo do cliente

Clientes: Vendas:

DetalhesVendas: nmero de factura, cdigo de artigo, quantidade (esta Tabela resolve a situao da incluso na mesma factura de mais do que um artigo) RELAES A Relao Fornecedores-Artigos do tipo N-para-N, o que implica a criao de uma terceira Tabela, que se chamar ForneceArtigos. Para a mesma Relao se criar uma outra Tabela que se chamar Compras. Cada entidade da Tabela ForneceArtigos conter o par formado por um fornecedor-um-produto, e ainda o campo para o preo base de compra que poder ser diferente para o mesmo produto, devido a este poder ser fornecido por um fornecedor diferente.
BD Text Vrs.2010.01

Carlos M. M. Nascimento

Pgina 20 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

Na Tabela Compras pretende-se registar: a data da compra, o cdigo do fornecedor, o cdigo de cada artigo, o preo unitrio e a quantidade adquirida.
(A incluso nesta Tabela do preo do artigo deve-se ao facto de este poder ser diferente do preo base e tambm porque vai possibilitar calcular o montante efectivo de cada compra).

Fornecedores CodForn NomeForn EndForn TelForn

ForneceArtigos CodForn CodArtigo PreoCompra

Artigos CodArtigo NomeArt Modelo PreoVenda

Compras DataComp CodForn CodArtigo Preo QtdComp

Clientes CodCli NomeCli EndCli TelCli

Vendas NumFactura DataVend CodCli

DetalhesVendas NumFactura CodArtigo QtdVend

Esquemas das Tabelas e Relacionamentos


Carlos M. M. Nascimento

BD Text

Vrs.2010.01

Pgina 21 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

AS TABELAS FORNECEDORES CodForn


Numrico Inteiro

NomeForn
Texto 50

EndForn
Texto 20

TelForn
Texto 20

1 2 3 4 ARTIGOS CodArtigo
Texto 10

Artimax Ferrafino Metalin Silva Lda.

Aveiro Lisboa Lisboa Porto

442388 5569534 7926372 5236735

NomeArt
Texto 50

Modelo
Texto 20

PreoVenda
Numrico

A1 A2 M1 M2 CX CY CZ FORNECEARTIGOS CodForn
Numrico Inteiro

Alicate Alicate Martelo Martelo Chave Chave Chave

Normal Pontas Pequeno Grande Fendas Cruz Inglesa

350 300 400 600 150 200 500

CodArtigo
Texto 10

PreoCompra
Numrico

1 1 1 2 2 3 3 3 3 3 4 4

A1 A2 CZ M1 M2 A1 M1 CX CY CZ A2 M2

300 260 430 350 520 300 330 120 160 425 250 525

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 22 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

COMPRAS Data
Data

CodForn
Num. Inteiro

CodArtigo
Texto 10

PreoCompra
Numrico

QtdComp
Numrico

6-1-98 6-1-98 6-1-98 6-1-98 6-1-98 6-1-98 6-1-98 8-1-98 8-1-98 10-1-98 15-1-98 15-1-98 CLIENTES CodCli
Numrico Inteiro

1 1 2 3 3 4 4 2 3 2 1 4

A1 CZ M1 CX CY A2 M2 M2 CZ M1 A1 A2

300 430 350 120 160 250 525 520 425 350 300 250

20 10 20 50 50 10 10 10 10 20 20 10

NomeCli
Texto 50

EndCli
Texto 50

TelCli
Texto 10

1 2 3 4 5 VENDAS NumFactura
Numrico Inteiro

Anbal Anita Cruz Sousa Xavier

R. Nova,20 R. Velha, 50 Pr. Alegre, 5 R. Clara, 10 R. Escura, 7

668877 554421 675498 786594 986743

DataVend
Data

CodCli
Numrico Inteiro

1 2 3 4 5 6 7 8

7-1-98 7-1-98 8-1-98 8-1-98 10-1-98 13-1-98 14-1-98 15-1-98

1 2 5 4 3 2 5 1

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 23 de 24

BASES DE DADOS INTRODUO AOS SGBD


BLOCO DE APONTAMENTOS TEXTOS DE APOIO

BD-1
SRIE HOW TO

DETALHESVENDAS NumFactura
Numrico Inteiro

CodArtigo
Texto 10

QtdVend
Numrico Inteiro

1 1 2 2 3 3 3 4 5 5 6 6 7 8 8

M1 CZ A1 CX M1 A1 M2 CZ CX CY CX CY M2 A2 M1

5 5 10 10 5 10 10 5 10 10 10 10 5 5 10

RELACIONAMENTOS Tabelas FORNECEDORES e FORNECEARTIGOS, atravs do campo CodForn; Tabelas ARTIGOS e FORNECEARTIGOS, atravs do campo CodArtigo; Tabelas FORNECEDORES e COMPRAS, atravs do campo CodForn; Tabelas ARTIGOS e COMPRAS atravs do campo CodArtigo; Tabelas CLIENTES e VENDAS, atravs do campo CodCli; Tabelas VENDAS e DETALHESVENDAS, atravs do campo NumFact; Tabelas DETALHESVENDAS e ARTIGOS, atravs do campo CodArtigo. Thats all, folks!

Doni kaj Preni

BD Text

Vrs.2010.01

Carlos M. M. Nascimento

Pgina 24 de 24

You might also like