Professional Documents
Culture Documents
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
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
BD Text
Vrs.2010.01
Pgina 2 de 24
BD-1
SRIE HOW TO
BD Text
Vrs.2010.01
Carlos M. M. Nascimento
Pgina 3 de 24
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.
BD Text
Vrs.2010.01
Carlos M. M. Nascimento
Pgina 4 de 24
BD-1
SRIE HOW TO
Carlos M. M. Nascimento
Pgina 5 de 24
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
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.
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
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
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
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
BD Text
Vrs.2010.01
Carlos M. M. Nascimento
Pgina 9 de 24
BD-1
SRIE HOW TO
Ex.:
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
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.
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
BD-1
SRIE HOW TO
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
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
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
BD-1
SRIE HOW TO
Carlos M. M. Nascimento
Pgina 14 de 24
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.
Carlos M. M. Nascimento
Pgina 15 de 24
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
BD-1
SRIE HOW TO
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
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
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
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.
No caso dos Scios e dos Cargos, os Cargos podem ser desempenhados por vrios Scios, mas pode haver Cargos no desempenhados por ningum.
DESEMPENHAM
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
BD-1
SRIE HOW TO
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
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).
BD Text
Vrs.2010.01
Pgina 21 de 24
BD-1
SRIE HOW TO
NomeForn
Texto 50
EndForn
Texto 20
TelForn
Texto 20
1 2 3 4 ARTIGOS CodArtigo
Texto 10
NomeArt
Texto 50
Modelo
Texto 20
PreoVenda
Numrico
A1 A2 M1 M2 CX CY CZ FORNECEARTIGOS CodForn
Numrico Inteiro
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
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
DataVend
Data
CodCli
Numrico Inteiro
1 2 3 4 5 6 7 8
1 2 5 4 3 2 5 1
BD Text
Vrs.2010.01
Carlos M. M. Nascimento
Pgina 23 de 24
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!
BD Text
Vrs.2010.01
Carlos M. M. Nascimento
Pgina 24 de 24