Escolar Documentos
Profissional Documentos
Cultura Documentos
ANO CURRICULAR: 2º
DISCIPLINA/CÓDIGO : Base de Dados/ 200
PROFESSOR (A) : PATRÍCIO MONTEIRO
NOTA: Os presentes slides são destinados exclusivamente aos alunos do ISUPEKUIKUI II e a sua reprodução por qualquer meio é
1
proibida, constituindo crime.
CAPÍTULO II
BASES DE DADOS
Índice:
NOTA: Os presentes slides são correspondentes à terceira e quarta semana de aulas (Semana 25/10 e 01/11)
2
Capítulo 2: Objetivos
Os estudantes deverão conhecer e identificar os conceitos de modelização, criação e implementação de base de dados, nomeadamente:
Conhecer o conceito de base de dados;
Conhecer as características prinicpais de uma base de dados;
Conhecer o conceito de Sistemas de Gestão de Base de Dados;
Conhecer o ambiente de concepção de sistemas de gestão de bases de dados;
Construir o modelo conceptual de base de dados
3
1. DEFINIÇÃO - BASES DE DADOS
• A Base de Dados é uma estrutura lógica, isto é, um software que armazena os dados de uma empresa qualquer. Quando o usuário
requisita estes dados através do sistema, eles são expostos de forma organizada na tela do computador de forma que se tornem
informações ou seja, tenham sentido.
• Uma BD é uma coleção de dados ou informações relacionadas entre si. GUIMARÃES (2012, p.19).
• Para exemplicar a utilização de uma BD, imagine uma concessionária e a sua coleção de carros que estão a venda no pátio. Poderia
se dizer que esta empresa tem um sistema de revendas de veículos e naturalmente sua BD vai ter os registros de cada um deles.
• Quando um cliente entrar na loja para comprar um carro, o vendedor consulta as informações a respeito daquele veículo em seu
sistema. Essa consulta utiliza a interface do sistema para acessar a BD e retornar essas informações organizadas em forma de lista
(TABELA 1)
4
1. DEFINIÇÃO - BASES DE DADOS
5
1. DEFINIÇÃO - BASES DE DADOS
• De acordo com DATE (2004, p.9) existem très classes gerais de usuários:
1. Primeiro, a dos Programadores de aplicações, responsáveis pela escrita de programas de aplicações de base de dados em alguma
linguagem de programação.
2. Em seguida os usuários finais, que acessam a base de dados interativamente.
3. O administrador da Base de Dados, ou DBA (de DATA BASE ADMINISTRATOR)
6
2. SGBD
• Definição: Sistema Gestor de Base de Dados é uma coleção de programas que permitem aos usuários definirem, construírem e
manipularem uma base de dados para o uso das diversas aplicações.
• O MySQL é um sistema de gerenciamento de base de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada,
do inglês Structured Query Language) como interface. É atualmente um dos bancos de dados mais populares, com mais de 10 milhões
de instalações pelo mundo. Entre os usuários do banco de dados MySQL estão: NASA, Friendster, Banco bradesco, Dataprev, HP, Nokia,
Sony, Google e outros.
• O Oracle é basicamente uma ferramenta cliente/servidor para a gestão de Bases de Dados. É um produto vendido a nível mundial,
embora a grande potência que tem e seu elevado preço, faz com que só se veja em empresas muito grandes e multinacionais, por norma
geral. No desenvolvimento de páginas web acontece o mesmo: como é um sistema muito caro não está tão espalhado como outras
bases de dados, por exemplo, Acess, MySQL, SQL Server, etc.
7
2. SGBD
• O MS SQL Server é um SGBD – sistema Gestor de Base de Dados relacional desenvolvido pela MicroSoft. Foi criado em parceria com a
Sybase em 1988 inicialmentw para a plataforma OS/2. esta parceria durou até 1994, com o lançamento da versão para Windows NT e
desde então a MicroSoft mantém a manutenção do produto. Como uma Base de Dados, é um produto de sofware cuja principal
função é a de armazenar e recuperar dados solicitados por outras aplicações de software, seja aqueles no mesmo computador ou
aqueles em execução em outro computador através de uma rede (incluindo a internet).
• O DB2 é um SGBD Relacionais produzido pela IBM. Existem diferentes versões do DB2 que rodam desde num simples PDA /computador
de mão, até em potentes mainframes e funcionam em servidores baseados em sistemas Unix, Windows, ou Linux.
• O PostgreSQL é um SGBD objecto-relacional, baseado no POSTGRES versão 4.2 desenvolvido pelo Departamento de Ciência da
Computação da Universidade da Califórnia em Berkeley. O POSTGRES foi pioneiro em vários conceitos que somente se tornaram
disponíveis muito mais tarde em alguns sistemas de base de dados comerciais.
• Para entender parte do processo realizado pelo SGBD, veja o que diz DATE (2004, p.37) a respeito desse acesso ao banco de dados:
1. Um usuário faz um pedido de acesso usando uma determinada sublinguagem de dados (geralmente, SQL).
2. O SGBD intercepta o pedido e o analiza.
3. O SGBD, por sua vez, inspeciona o esquema externo (ou as versões objecto desse esquema) para esse usuário, o mapeamento
externo/conceitual correspondente, o esquema conceitual, o mapeamento conceitual/interno e a definição do banco de dados
armazenado.
4. O SGBD executa as operações necessárias sobre o banco de dados armazenado.
• Da maneira como foi descrita acima, fica claro compreender o papel do SGBD entre a interface (tela) de um sistema e o BD. Ele é o
intermediário da operação.
Utilizador
Sistema de
gestão de base de
dados
base de
8
dados
2. SGBD
• Além destas funcionalidades dos SGBD´s, destacam-se os seguintes:
• Alguns exemplos de SGBD´s empresariais são ORACLE, MicroSoft SQL Server e DB2 da IBM.
• Para computadores pessoais ou pequenas organizações temos, entre os mais conhecidos, o MySQL, Postgree e Microsoft Access. Os
primeiros têm mais ferramentas e funcionalidades que se adequam ao mercado empresarial.
• Em resumo, os Sistemas de Gestão de Base de Dados são programas que permitem criar e manipular as bases de dados, em que os
dados estão estruturados e permitem o acesso a programas para a sua gestão.
• Hardware e software
O hardware é uma variável muitíssimo importante, principalmente no quesito desempenho e qualidade do funcionamento.
Geralmente tem-se um servidor executando um SGBD e de acordo a necessidade de processamento, esse hardware deverá ser
apropriado para suprir a demanda operacional. Naturalmente o servidor é um equipamento previamente configurado para suportar
milhares de requisições simultaneamente e respondê-las com eficiência.
Além do harware adequado para o SGBD, existem os programas cliente que operam sobre a estrutura do SGBD, isto é, usa o
conjunto de aplicações do próprio SGBD para intermediar o acesso à base de dados. Existem várias formas de conexão lógica entre as
aplicações e os servidores que rodam SGBD. Como exemplo dessas conexões, pode-se mencionar o tipo cliente/servidor, o servidor WEB
e o servidor de arquivos. Cada um com suas características, vantagens e desvantagens.
9
2. 1 TIPOS DE BASE DE DADOS
• Após a proposta de empresa IBM, na década de 60, para que os dados fossem armazenados e interligados de forma hierárquica, foi
desta forma que surgiu o primeiro modelo, que ficou conhecido como Modelo hierárquico.
• Depois evoluíram para outro modelo, neste os dados não seriam armazenados de forma hierárquica, mas seriam ligados em forma de
redes inteligentes e isso trouxe o Modelo de dados em rede.
• Estes dois modelos facilitariam armazenar os dados, por exemplo, dos clientes, funcionários, fornecedores e empresas, sem problema
algum. A questão era que estes, não facilitavam o relacionamento entre os dados. e pensando neste relacionamento (na década 70)
um dos pesquisadores da IBM, Edgar F. Codd, propós um novo paradigma, onde os dados seriam armazenados de forma mais
intrínseca, eles teriam relação. Foi fos estudos de Cood que surgiu o Modelo Relacional.
• Este modelo é o mais utilizado uma vez que utiliza tabelas bidimensionais para a representação lógica dos dados e das suas relações.
• A combinação de ideias dos modelos de dados tradicionais e de linguagens de programação orientada a objectos, surgiu o Modelo
orientado ao objecto (SGBDO, Sistema de Gestão de Bases de Dados por Objecto), onde os dados são armazenados sob a forma de
objectos, quer dizer, de estruturas chamadas classes que apresentam dados membros. Os campos são instâncias destas classes.
• Os modelos de dados orientados a objectos são mais adequados para o tratamento de objectos complexos e dinâmicos, por
possuírem maior naturalidade conceitual e por estarem em linha com as tendências em linguagens de programação e engenharia de
software. No entanto, o modelo relacional foi evoluindo e gerou o modelo relacional estendido, que promove algumas características
de Orientados por Objectos nas bases de dados e daí o modelo continuar a ser dos mais utilizados.
1
0
3. ESTRUTURA DE UMA BASE DE DADOS
• Em termos de armazenamento de dados, uma base de dados é composto de Tabelas, Colunas e Linhas. Vamos verificar o conceito de
cada um.
Tabelas (ou entidades)
• Nos modelos de base de dados relacionais, uma tabela é um conjunto de dados com um número determinado de colunas (ou
campos) e um número infinito de linhas (ou registros ou tuplas).
• Uma BD é composta de uma ou mais tabelas (podemos chamar também de entidades), que uma forma comum de armazenagem de
dados na empresa. O correcto é que, através de um processo de modelagem de dados bem feito, todos os dados necessário ao
negócio fiquem organizados nestas nestas tabelas. A criação de cada tabela de um banco de dados, deverá ser feita com coerência e
verificando o “assunto” que cada tabela irá armazenar. Cada tabela deve armazenar dados relacionadoss com apenas um assunto ou
conceito de negócio.
• Cada entidade deve representar uma única “coisa” presente no mundo real. Por isso se optasse por representar uma entidade como
a que se segue:
Aluno
Professor
Disciplina
• Não seria possível estabelecer relações entre apenas uma parte da entidade (alunos, professores ou disciplinas) com outra
entidade qualquer do modelo.
1
1
3. ESTRUTURA DE UMA BASE DE DADOS
4. MODELAGEM DE DADOS
• Para quem não sabe, a modelagem de dados é um processo no qual você projeta ou planeja o modelo a ser utilizado para a
construção da sua base de dados, de forma que reflita os conceitos do negócio a ser atendido. É muito importante que haja um
perfeito entendimento e compreensão das necessidades de informação do negócio que está sendo atendido pelo projeto do banco
de dados. Para isso, é necessário um bom levantamento de requisitos, atividade que é feita pelo analista de requisitos que actua
junto ao analista de negócios a fim de descobrir os requisitos de informação que devem ser atendidos no projeto de banco de dados.
1
2
4. MODELAGEM DE DADOS
Qual o objectivo da modelagem de dados? Por que modelar os dados do ambiente de negócio?
• Representar os conceitos do ambiente de negócios observado
• Documentar e normalizar os dados no modelo de dados
• Fornecer processos de validação
• Observar fatos no ambiente de negócios e identificar relacionamentos de negócios
Modelagem de dados – funciona como receita, isto é, uma preparação para criação de um banco de dados propriamente dito. A
modelagem precede a criação do BD. É imprescindível conhecer e entender seu funcionamento. A mesma é dividida em três
partes:
1. A parte inicial é independente do SGBD, ou seja, o modelo é mais teórico a ponto de não interferir na escolha da tecnologia a ser
aplicada;
2. A parte do modelo lógico o quadro muda, pois a tecnologia passa a ditar as regras do desenvolvimento, tornando o modelo mais
especificamente voltado para o SGBD. Figura a seguir retrata essa separação:
1
3
4. MODELAGEM DE DADOS
Modelo Conceitual – levantamento de requisitos é o nome dado à tarefa de analisar o ambiente, aplicar a abstração e transformar o
resultado da análise em um modelo chamado de conceitual. Esse modelo cria o conceito, isto é, as definições principais da empresa
em relação a necessidade. É como se fosse um espelho da empresa, detalhando cada objecto importante dentro do ambiente
observado.
• Os modelos de dados conceituais utilizam conceitos como entidades, atributos e relacionamentos. Uma entidade representa um
objeto do mundo real ou um conecito, como um funcionário ou um projecto, que são descritos no banco de dados. Um atributo
corresponde a alguma propriedade de interesse que ajuda a descrever uma entidade, como o nome do funcionário ou seu salário. O
relacionamento entre duas ou mias entidades mostra uma associação entre estas: por exemplo, um relacionamento trabalhada-em
de um funcionário com um projeto.
• Modelo conceitual
1.Usado na descrição do banco de dados;
2.Independente de implementação e SGBD;
3.Descrição mais abstrata do banco de dados;
4.É o ponto de partida para o projeto.
• Ex.: MER
4. MODELAGEM E-R
• Modelo baseado na percepção do mundo real, que consiste em um conjunto de objetos básicos chamados entidades e nos
relacionamentos entre esses objetos.
• Facilita o projeto de banco de dados, possibilitando a especificação da estrutura geral do banco de dados.
• O modelo Er é representado através da criação de um desenho, cujos elementos procuram definir e representar a realidade dos
objetos observados como, por exemplo, seu nome e seus atributos. De acordo com Heuser (2009, p.34), “geralmente, um modelo
ER é representado graficamente através de um diagrama entidade-relacionamento (DER)”. 1
4
MODELO E-R
- GRAU:
As relações mais comuns são aquelas, que existem entre duas entidades (relações binárias). Mas podem existir
relações unárias, binárias, ternárias,…n-árias.
Nesta relação, apenas pretendemos armazenar informação sobre que alunos frequentam que disciplinas. Existe assim
uma relação entre duas entidades (Aluno e Disciplina)
MODELO E-R
Sala
• Estamos perante uma relação ternária, isto é, uma relação entre três entidades.
MODELO E-R
supervisiona
Empregado
• Numa empresa podemos ter uma entidade denominada Empregado que irá conter a lista de todos os funcionários da empresa.
Se existir uma hierarquia dentro da empresa então existirá uma relação de chefia entre a entidade empregado.
• Entidades e Seus Atributos. O objeto básico que o modelo ER representa é uma entidade, ‘algo’ do mundo real, com uma
existência independente. Uma entidade pode ser um objeto com uma existência física (por exemplo: uma pessoa, um carro, uma
casa ou um funcionário) ou um objeto como uma existência conceitual (por exemplo: uma empresa, um trabalho ou um curso
universitário).
• Cada entidade tem atributos – propriedades particulares que a escrevem. Por exemplo, uma entidade empregado pode ser
descrita pelo nome do empregado, idade, endereço, salário e trabalho (função). Uma dada entidade terá um valor para cada um
de seus atributos. Os valores dos atributos que descrevem cada entidade se tornarão a maior parte dos dados armazenados no
banco de dados.
Tipos de atributos:
1. Atributos simples;
Exemplo: Nome do cliente,
2. Atributos compostos: Composto por vários atributos simples;
Exemplo: Morada (rua, nº da porta, localidade, cód. Postal)
Nota: Vamos fazer as coisas por forma a ter sempre atributos simples, univalor e não derivados.
ENTIDADES E ATRIBUTOS
ATRIBUTOS
Simples: não apresentam quaisquer características especial.
Exemplo:
Empresa Nome
Empresa Endereco
Bairro
Multivalorado:
Exemplo:
.
Empresa *Telefones
ENTIDADES E ATRIBUTOS
Atributos (2)
• Num DEA os atributos são representados por elipses com a respectiva designação. Essas elipses são ligadas à entidade
correspondente através de uma linha recta.
numero
nome
Aluno
Data_nasc
morada
ENTIDADES E ATRIBUTOS
Chaves
• No modelo relacional a única forma de relacionar dados que existem numa tabela, com dados que existem noutra tabela, é
através de atributos comuns.
Assim, vão existir atributos especiais (chaves estrangeiras) que servem para fazer a ligação a outras tabelas em que esses
mesmos atributos identificam, univocamente, cada uma das linhas (chaves primárias).
Tipos de chaves:
I. Superchave : associação de um ou mais atributos que, em conjunto, identificam cada um dos tuplos (linhas da tabela).
Nota: no limite, a associação de todos os campos de uma tabela constitui uma superchave.
II. Chave candidata : Subconjunto dos atributos de uma superchave que, sendo ainda superchave, não pode ser
reduzido sem perder essa qualidade;
III. Chave primária : chave seleccionada entre as diferentes chaves candidatas para, efectivamente identificar o tuplo
(linha da tabela);
IV. Chave estrangeira : atributo ou conjunto de atributos de uma relação, que é chave primária noutra relação.
ENTIDADES E ATRIBUTOS
Chaves (3)
número
nome
Aluno
Data_nasc
morada
ENTIDADES E ATRIBUTOS
Relações 1:1
Numa relação entre duas entidades do tipo 1:1, a relação entre elas é estabelecida pelo programador, onde o mesmo, escolhe em
que lado deve colocar a chave primária de uma tabela, como estrangeira em outra.
Exemplo:
1 Casa 1 Cod_esp
Marido com Esposa
Cod_mar
cod-_pai
1 tem N Cod_pai
Pai Filhos
Relações 1:N
dada as tabelas :
É de notar que na tabela departamento a chave primária é o cod_dep. Mas na tabela funcionário o cod_dep não é chave primária.
Trata-se de um atributo comum. No entanto, como o atributo cod_dep faz a ligação à chave primária da outra tabela é
denominado chave secundária.
ENTIDADES E ATRIBUTOS
Relações M:N
Uma relação do tipo M:N entre entidades é estabelecida através de uma terceira entidade denominada entidade associativa que se
irá relacionar com a entidade A e com a entidade B através de relações do tipo 1:N
Exemplo:
M Compra N Cod_prod
Cliente Produto
Cod_Cli
nome_Cli Cod_Prod
Form-pagamento
Cod-_Cli 1 N N 1 Cod_Prod
Cliente Compra Produto
Exercício 1
Uma clínica médica pretende informatizar os seus serviços. Para já querem começar os dados referentes a médicos, a clientes (ou
pacientes) e a consultas.
Na clínica trabalham vários médicos, de várias especialidades diferentes. De cada médico, identificado internamente por um
número de empregado, a clínica pretende armazenar o seu nome, especialidade, morada e telefone.
Como é usual, os médicos dão consultas a clientes. A clínica pretende ter sempre disponível a informação dos nomes e moradas
dos seus clientes.
A cada consulta está associado um só médico e um só cliente. Actualmente as consultas são numeradas para cada um dos
médicos ou seja para cada médico há uma consulta 1, uma consulta 2, etc. Para a clínica é importante manter este sistema de
identificação das consultas, por forma a poderem ser introduzidos dados relativos ao tempo em que a clínica ainda não estava
informatizada. Da consulta pretende armazenar-se a data em que ocorreu, bem como os vários fármacos que foram receitados
pelo médico na consulta.
EXERCÍCIOS PRÁTICOS
Exercício 2
Uma fábrica pretende implementar uma base de dados para gerir os “stocks” dos seus armazéns, as encomendas e as vendas.
Para tornar o problema menos extenso, não vamos aqui considerar a parte relativa às vendas. Há assim que ter em conta
que:
• A empresa comercializa vários produtos, cada um dos quais com um código, um nome, e um preço. Em cada momento a
empresa deve ainda saber qual a quantidade existente no armazém de cada um dos produtos.
• Uma encomenda, que deve ter um número de encomenda e a data em que foi feita, pode ter vários produtos, mas diz
respeito apenas a um fornecedor.
• De cada fornecedor a empresa deseja guardar a informação do seu nome, número de contribuinte, morada, forma de
pagamento, prazo de pagamento, e um código interno de tipo de fornecedor.
Exercício 3
Uma empresa trabalha com vendas. Essa empresa está localizada em várias localidades do país onde o seu código postal
identifica univocamente a localidade. Um funcionário da empresa só pode pertencer à uma única localidade. Mas num país
pode haver vários funcionários. Cada venda efectuada por um funcionário é registada. Quanto mais vendas efectuar um
funcionário maior é a sua comissão.
1. Definição -Bases de Dados
2. Sistema Gerenciador de Bases de Dados
3. Estrutura de uma Base de Dados
4. Modelagem de dados.
5. Modelo E-R
6. Entidades - Definição
• Elmasri, Ramez; Navathe, Shamkant B. Sistemas de Banco de Dados. Pearson, 7ª edição, 1128p.,2018
• Data Management : Banco de Dados e Organizações, Richard T. Watson, Editora LTC
NOTA: Os presentes slides são correspondentes à terceira e quarta semana de aulas (Semana 25/10 e 01/11)