SlideShare uma empresa Scribd logo
1 de 10
Relatório 01 Projeto Conceitual de Banco de Dados
Projeto conceitual de banco de dados
1.1 Conceitos Fundamentais de Banco de Dados
Banco de dados é um conjunto de dados integrados que tem por objetivo atender a uma
comunidade de usuários.
1.2 Características Típicas de um SGBD
Hoje em dia, a grande maioria dos programas comunica-se com os usuários através de
interfaces gráficas de janelas. Entretanto, normalmente, os programas não contém todo código
referente a exibição dos dados na interface, mas utilizam gerenciadores de interface de
usuário, conjuntos de rotinas que incluem as funcionalidades que um programador vai
necessitar frequentemente, ao construir uma interface de usuário. Da mesma forma, para
comunicar-se com processos remotos, usam gerenciadores de comunicação. Para manter
grandes repositórios compartilhados de dados, ou seja, para manter bancos de dados, são
usados sistemas de gerência de banco de dados (SGBD).
Sistema de gerência de banco de dados ou SGBD é um software que incorpora as funções de
definição, recuperação e alteração de dados em um banco de dados.
Essa modularização de programas tem várias vantagens. A manutenção de programas torna-se
mais simples, pois uma separação clara de funções torna programas mais facilmente
compreensíveis. A produtividade de programadores também aumenta, já que os programas
ficam menores, pois usam funções já construídas.
Entre outras Vantagens:
 Rapidez na manipulação e no acesso à informação;
 Redução do esforço humano (desenvolvimento e utilização);
 Disponibilização da informação no tempo necessário;
 Distribuição de informações geograficamente;
 Controle de redundância e de inconsistência de informações;
 Compartilhamento de dados;
 Aplicação automática de restrições de integridade;
 Controle de acesso e segurança dos dados;
 Redução de problemas de integridade.
Modelagem de Banco de dados
Um modelo de (banco de) dados é uma descrição dos tipos de informações que estão
armazenadas em um banco de dados.
Para construir um modelo de dados, usa-se uma linguagem de modelagem de dados.
Linguagens de modelagem de dados podem ser classificadas de acordo com a forma de
apresentar modelos, em linguagens textuais ou linguagens gráficas. Cada apresentação do
modelo recebe a denominação esquema de banco de dados.
De acordo com a intenção do modelador, um banco de dados pode ser modelado ou descrito
há vários níveis de abstração. Um modelo de dados que servirá para explicar a um usuário
qual é a organização de um banco de dados provavelmente não conterá detalhes sobre a
representação em meio físico das informações. Já um modelo de dados usado por um técnico
para otimizar a performance de acesso ao banco de dados conterá mais detalhes de como as
informações estão organizadas internamente e portanto será menos abstrato. No projeto de
banco de dados, normalmente são considerados dois níveis de abstração de modelo de dados,
o do modelo conceitual e o do modelo lógico.
1.3 Arquitetura de um SGBD
Modelo Conceitual
Um modelo conceitual é uma descrição do banco de dados de forma independente de
implementação em um SGBD. O modelo conceitual registra que dados podem aparecer no
banco de dados, mas não registra como estes dados estão armazenados a nível de SGBD.
A técnica mais difundida de modelagem conceitual é a abordagem entidade relacionamento
(ER). Nesta técnica, um modelo conceitual é usualmente representado através de um
diagrama, chamado diagrama entidade-relacionamento (DER).
Modelo Lógico
Um modelo lógico é uma descrição de um banco de dados no nível de abstração visto pelo
usuário do SGBD. Assim, o modelo lógico é dependente do tipo particular de SGBD que está
sendo usado.
Modelo Conceitual Como Modelo de Organização
Quando se observa um conjunto de arquivos em computador, sejam eles gerenciados por um
SGBD, sejam eles arquivos convencionais, verifica-se que usualmente um arquivo contém
informações sobre um conjunto de objetos ou entidades da organização que é atendida pelo
sistema em computador.
Desta constatação surgiu uma das ideias fundamentais do projeto de banco de dados: a de que
através da identificação das entidades que terão informações representadas no banco de dados,
é possível identificar os arquivos que comporão o banco de dados. Devido a esta relação um-
para-um entre arquivos em computador e entidades da organização modelada, observou-se
que um mesmo modelo conceitual pode ser usado em duas funções:
 como modelo abstrato da organização, que define as entidades da organização que tem
informações armazenadas no banco de dados, e
 como modelo abstrato do banco de dados, que define que arquivos farão parte do
banco de dados.
Fonte: Projeto de Banco de Dados 4ª Edição - Carlos Alberto Heuser
1.4 MER (Modelo Entidade Relacionamento)
Relatório 02 Lógico de Banco de Dados Parte I
2.1 Normalização do Banco de Dados
NORMALIZAÇÃO
A normalização é um método que se emprega para aumentar a qualidade do projeto de banco
de dados. É também uma base teórica para a definição das propriedades das relações.
Através do processo de normalização pode-se, gradativamente, substituir um conjunto de
entidades e relacionamentos por um outro, mais eficiente em relação às anomalias de
atualizações (inclusão,alteração e exclusão) as quais podem causar certos problemas, tais
como:
 Grupos repetitivos de dados;
 Dependências parciais em relação a chave concatenada;
 Redundâncias de dados desnecessárias;
 Perdas acidentais de informação;
 Dificuldade na representação de fatos da realidade observada;
 Dependências transitivas entre atributos.
Para resolver os problemas acima foram propostas formas normais que devem ser aplicadas a
um modelo de dados com o objetivo de garantir um modelo de dados livre dos problemas
citados acima, estável e eficiente.
A Normalização é necessária porque podem ocorrer erros de modelagem, sendo que a
normalização se apresenta como uma técnica para garantir a integridade de um modelo de
dados.
PRIMEIRA FORMA NORMAL (1FN)
A primeira forma normal assegura que não existam repetições de valores nos atributos nem
grupos repetidos de atributos das entidades de um modelo de dados. Em uma determinada
realidade, às vezes encontramos algumas informações que se repetem, retratando ocorrências
de um mesmo fato dentro de uma única linha e vinculada a sua chave primária.
A 1FN diz que: cada ocorrência da chave primária deve corresponder a uma e somente uma
informação de cada atributo, ou seja, a entidade não deve conter grupos repetitivos de
atributos ( atributos multivalorados ). Para se obter entidades da 1FN, é necessário decompor
cada entidade não normalizada em tantas entidades quanto for o número de conjuntos de
atributos repetitivos. Nas novas entidades criadas, a chave primária é a concatenação da chave
primária original mais os atributos do grupo repetitivo visualizados como chave primária
deste grupo.
Dependência Funcional :
Dada uma entidade qualquer, dizemos que um atributo ou conjunto de atributos A é
dependente funcional de um outro atributo B contido na mesma entidade, se a cada valor de B
existir nas linhas da entidade em que aparece, um único valor de A. Em outras palavras, A
depende funcionalmente de B.
Dependência Funcional Total
Na ocorrência de uma chave primária concatenada, dizemos que um atributo ou conjunto de
atributos depende de forma completa ou total desta chave primaria concatenada quando para
cada valor da chave está associado um valor para cada atributo.
Dependência Funcional Parcial
Quando um atributo ou conjunto de atributos A depende de outro atributo B que faz parte da
chave primária concatenada dizemos que há uma dependência funcional parcial A em
relação a B. Para cada valor do atributo B existe um valor associado para o atributo A.
Dependência Funcional Transitiva
Quando um atributo ou conjunto de atributos A depende de outro atributo B que não pertence
à chave primária, mas é dependente do atributo, dizemos que A é dependente transitico de B.
Segunda Forma Normal (2FN)
A segunda forma normal assegura que não exista dependencia funcional parcial no modelo de
dados. Para aplicarmos a segunda forma formal em um modelo de dados devemos observar se
alguma entidade do modelo possui chave primária concatenada e verificar se existe algum
atributo ou conjunto de atributos com dependencia parcial em relação a algum atributo da
chave primária concatenada.
Com a finalidade de tornar ainda mais estável o modelo de dados, a aplicação da 2FN sobre as
entidades em observação geram novas entidades, que herdarão a chave parcial e todos os
atributos que dependem parcialmente da chave primária, ou seja, uma entidade para estar na
2FN não pode ter atributos com dependência funcional parcial em relação à chave primária.
Terceira Forma Normal (3FN)
A terceira forma normal assegura que nenhuma entidade do modelo de dados possui atributos
com dependência transitiva. Assim, uma entidade está na 3FN se nenhum de seus atributos
possui dependência transitiva em relação a outro atributo da entidade que não participe da
chave primária, ou seja, não existe nenhum atributo intermediário entre a chave primária e o
próprio atributo observado. Ao retirarmos a dependência funcional transitiva, devemos criar
uma nova entidade que contenha os atributos que dependem transitivamente de outro e a sua
chave primária é o atributo que causou esta dependência.
Além de não conter atributos com dependência funcional transitiva, entidades na 3FN não
devem conter atributos derivados que sejam o resultado de algum cálculo sobre outro atributo,
o que de certa forma pode ser entendido como uma dependência funcional transitiva. Todo
atributo derivado a partir de outro atributo deve ser retirado do modelo dados. O mesmo é
válido para atributos que representam cálculos realizados com base em outros atributos da
entidade.
2.1.1 1º Forma Normal (1FN)
Aluno
ra(PK)
Nome
Telefone
cep_aluno(FK)
Sexo
email
2.1.2 2º Forma Normal (2FN)
2.1.3 3º Forma Normal (3FN)
2.2 DER (Diagrama Entidade Relacionamento)
Fonte: https://sites.google.com/site/uniplibancodedados1/aulas/normalizacao
Relatório 03 Projeto Lógico de Banco de Dados Parte II
O PostgreSQL é um sofisticado sistema de gerenciamento de banco de dados. É conhecido
como objeto relacional, apresenta características de conceitos de orientção a abjetos, como
herança e tipos personalizados. Suporta quase todas as construções SQL, incluindo
subseleções, transações, tipos definidos pelo usuário e funções. Seu código fonte é aberto e
possui mais de 15 anos de desenvolvimento. Esta equipe se preocupou em manter a
compatibilidade com os padrões SQL92/SQL99.
Valor limite
Banco de dados Tamanho máximo ilimitado
Tamanho máximo da Tabela 32 TB
Máximo Row Tamanho 1.6 TB
Máxima de Campo Tamanho 1 GB
Máximo de linhas por tabela Ilimitado
Colunas máximos por tabela 250 - 1600 dependendo dos tipos de colunas
Os índices máximos por tabela Ilimitado
PostgreSQL ganhou elogios de seus usuários e reconhecimento da indústria , incluindo o
Linux New Media Award de Melhor Sistema de Banco de Dados e cinco vezes vencedor do
Prêmio 'Choice Os Editores de Revistas de Linux para melhor DBMS.
3.1 – Características e funcionalidades do SGBD PostgreSQL
Características:
SGBD robusto e confiável
Objeto Relacional
Open Source
Compatível com o Padrão SQL/SQL99
Compatível com diversos S.O. Linux , UNIX (AIX, BSD , HP- UX, SGI IRIX , Mac OS X,
Solaris, Tru64 ) , e Windows
Funções que este SGBD Possui:
Sub-consultas
Funções armazenadas(Stored Procedures), que podem ser escritas em várias linguagens de
programação(PL/PgSQL, Perl, Python, Ruby e outras);
Gatilhos(Triggers);
Esquemas(Schemas);
3.2 Exigências de processamento
8 MB de memória RAM disponível, 100MB de espaço em disco e sistema operacional
Windows, Linux, Unix, BSD
3.3 Compatibilidades com Linguagens de programação
PostgreSQL executa procedimentos armazenados em mais de uma dúzia de linguagens de
programação, incluindo Java, Perl, Python, Ruby, Tcl, C / C + +, e seu próprio PL / pgSQL,
que é semelhante ao PL / SQL do Oracle. Incluído com a sua biblioteca de funções padrão são
centenas de built-in funções que vão desde operações de cadeia de matemática básica e à
criptografia e compatibilidade Oracle. Triggers e procedimentos armazenados podem ser
escritos em C e carregados na base de dados como uma biblioteca, permitindo uma grande
flexibilidade em estender as suas capacidades. Da mesma forma, PostgreSQL inclui um
quadro que permite aos desenvolvedores definir e criar seus próprios tipos de dados
personalizados, juntamente com as funções e operadores que definem o seu comportamento
de apoio. Como resultado, um grande número de tipos de dados avançados foram criados, que
variam a partir de primitivas geométricas e espaciais para os endereços de rede para nivelar
ISBN / ISSN (International Standard Book / Número de Série Padrão Internacional) tipos de
dados, os quais podem ser opcionalmente adicionados ao o sistema.
3.4 Tabelas do Banco de Dados
Fonte: http://www.postgresql.org/
4 Operações de Álgebra Relacionais
4.1 Operações de Seleção
Exibe nome e RA todos os alunos por ordem de RA
SELECT nome, ra
FROM aluno
ORDER BY ra
Exibe nome e telefone , disciplina que leciona de todos os professores
4.3 Operações de junção
SELECT p.nome, p.telefone, d.nome_disc
FROM professores p
INNER JOIN disciplina d
ON p.cpf = d.cpf_prof;
Exibe nome notas e frequência dos alunos
SELECT a.nome,

Mais conteúdo relacionado

Mais procurados

Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Modelo Conceitual
Modelo ConceitualModelo Conceitual
Modelo Conceitualkottrim
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosCláudio Amaral
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLClaudio Martins
 
MDL - Elaborando diagramas em Micro Development Language
MDL - Elaborando diagramas em Micro Development LanguageMDL - Elaborando diagramas em Micro Development Language
MDL - Elaborando diagramas em Micro Development LanguageGustavo Sanchez - Palência
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 
Modelagem
ModelagemModelagem
Modelagemprsimon
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoMaria Alice Jovinski
 
Uml Diagramas estruturais - parte escrita
Uml   Diagramas estruturais - parte escritaUml   Diagramas estruturais - parte escrita
Uml Diagramas estruturais - parte escritathaisedd
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de DadosFabio Abel
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukHebert Alquimim
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoRudson Kiyoshi Souza Carvalho
 

Mais procurados (20)

Diagramas de componentes
Diagramas de componentesDiagramas de componentes
Diagramas de componentes
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Modelo Conceitual
Modelo ConceitualModelo Conceitual
Modelo Conceitual
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UML
 
MDL - Elaborando diagramas em Micro Development Language
MDL - Elaborando diagramas em Micro Development LanguageMDL - Elaborando diagramas em Micro Development Language
MDL - Elaborando diagramas em Micro Development Language
 
Sino
SinoSino
Sino
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
Sistemas Multiagentes Baseados em Modelagem por Redes de Petri: um estudo de ...
Sistemas Multiagentes Baseados em Modelagem por Redes de Petri: um estudo de ...Sistemas Multiagentes Baseados em Modelagem por Redes de Petri: um estudo de ...
Sistemas Multiagentes Baseados em Modelagem por Redes de Petri: um estudo de ...
 
Modelagem
ModelagemModelagem
Modelagem
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniao
 
Uml Diagramas estruturais - parte escrita
Uml   Diagramas estruturais - parte escritaUml   Diagramas estruturais - parte escrita
Uml Diagramas estruturais - parte escrita
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Uml
UmlUml
Uml
 
Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos Alexandruk
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
 
Aula 2 banco de dados
Aula 2   banco de dadosAula 2   banco de dados
Aula 2 banco de dados
 
Uml
UmlUml
Uml
 

Semelhante a Atps de banco de dados rel 1 3-4 atualizado formato ok

01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfedilson42986
 
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdfAula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdfnosbisantos
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfCelestino24
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)Andre Sidou
 
Banco de dados
Banco de dadosBanco de dados
Banco de dadospadinho
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Carlos Melo
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLRaphael Donaire Albino
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dadosessa
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
Banco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de DadosBanco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de DadosDanielRibeiro136663
 
modelo relacional.ppt
modelo relacional.pptmodelo relacional.ppt
modelo relacional.pptritaporfrio
 

Semelhante a Atps de banco de dados rel 1 3-4 atualizado formato ok (20)

Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdf
 
Ara7129 unidade-1-v1
Ara7129 unidade-1-v1Ara7129 unidade-1-v1
Ara7129 unidade-1-v1
 
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdfAula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 
Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Apostila de bd
Apostila de bdApostila de bd
Apostila de bd
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1
 
Banco de dados parte 01
Banco de dados parte 01Banco de dados parte 01
Banco de dados parte 01
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQL
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dados
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
Artc 1249307788 43
Artc 1249307788 43Artc 1249307788 43
Artc 1249307788 43
 
PFTI (2).ppt
PFTI (2).pptPFTI (2).ppt
PFTI (2).ppt
 
Banco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de DadosBanco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de Dados
 
modelo relacional.ppt
modelo relacional.pptmodelo relacional.ppt
modelo relacional.ppt
 

Atps de banco de dados rel 1 3-4 atualizado formato ok

  • 1. Relatório 01 Projeto Conceitual de Banco de Dados Projeto conceitual de banco de dados 1.1 Conceitos Fundamentais de Banco de Dados Banco de dados é um conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários. 1.2 Características Típicas de um SGBD Hoje em dia, a grande maioria dos programas comunica-se com os usuários através de interfaces gráficas de janelas. Entretanto, normalmente, os programas não contém todo código referente a exibição dos dados na interface, mas utilizam gerenciadores de interface de usuário, conjuntos de rotinas que incluem as funcionalidades que um programador vai necessitar frequentemente, ao construir uma interface de usuário. Da mesma forma, para comunicar-se com processos remotos, usam gerenciadores de comunicação. Para manter grandes repositórios compartilhados de dados, ou seja, para manter bancos de dados, são usados sistemas de gerência de banco de dados (SGBD). Sistema de gerência de banco de dados ou SGBD é um software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados. Essa modularização de programas tem várias vantagens. A manutenção de programas torna-se mais simples, pois uma separação clara de funções torna programas mais facilmente compreensíveis. A produtividade de programadores também aumenta, já que os programas ficam menores, pois usam funções já construídas. Entre outras Vantagens:  Rapidez na manipulação e no acesso à informação;  Redução do esforço humano (desenvolvimento e utilização);  Disponibilização da informação no tempo necessário;  Distribuição de informações geograficamente;  Controle de redundância e de inconsistência de informações;  Compartilhamento de dados;  Aplicação automática de restrições de integridade;  Controle de acesso e segurança dos dados;  Redução de problemas de integridade. Modelagem de Banco de dados Um modelo de (banco de) dados é uma descrição dos tipos de informações que estão armazenadas em um banco de dados.
  • 2. Para construir um modelo de dados, usa-se uma linguagem de modelagem de dados. Linguagens de modelagem de dados podem ser classificadas de acordo com a forma de apresentar modelos, em linguagens textuais ou linguagens gráficas. Cada apresentação do modelo recebe a denominação esquema de banco de dados. De acordo com a intenção do modelador, um banco de dados pode ser modelado ou descrito há vários níveis de abstração. Um modelo de dados que servirá para explicar a um usuário qual é a organização de um banco de dados provavelmente não conterá detalhes sobre a representação em meio físico das informações. Já um modelo de dados usado por um técnico para otimizar a performance de acesso ao banco de dados conterá mais detalhes de como as informações estão organizadas internamente e portanto será menos abstrato. No projeto de banco de dados, normalmente são considerados dois níveis de abstração de modelo de dados, o do modelo conceitual e o do modelo lógico. 1.3 Arquitetura de um SGBD Modelo Conceitual Um modelo conceitual é uma descrição do banco de dados de forma independente de implementação em um SGBD. O modelo conceitual registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão armazenados a nível de SGBD. A técnica mais difundida de modelagem conceitual é a abordagem entidade relacionamento (ER). Nesta técnica, um modelo conceitual é usualmente representado através de um diagrama, chamado diagrama entidade-relacionamento (DER). Modelo Lógico Um modelo lógico é uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. Assim, o modelo lógico é dependente do tipo particular de SGBD que está sendo usado. Modelo Conceitual Como Modelo de Organização Quando se observa um conjunto de arquivos em computador, sejam eles gerenciados por um SGBD, sejam eles arquivos convencionais, verifica-se que usualmente um arquivo contém informações sobre um conjunto de objetos ou entidades da organização que é atendida pelo sistema em computador. Desta constatação surgiu uma das ideias fundamentais do projeto de banco de dados: a de que através da identificação das entidades que terão informações representadas no banco de dados, é possível identificar os arquivos que comporão o banco de dados. Devido a esta relação um- para-um entre arquivos em computador e entidades da organização modelada, observou-se que um mesmo modelo conceitual pode ser usado em duas funções:  como modelo abstrato da organização, que define as entidades da organização que tem informações armazenadas no banco de dados, e  como modelo abstrato do banco de dados, que define que arquivos farão parte do banco de dados.
  • 3. Fonte: Projeto de Banco de Dados 4ª Edição - Carlos Alberto Heuser 1.4 MER (Modelo Entidade Relacionamento) Relatório 02 Lógico de Banco de Dados Parte I 2.1 Normalização do Banco de Dados NORMALIZAÇÃO A normalização é um método que se emprega para aumentar a qualidade do projeto de banco de dados. É também uma base teórica para a definição das propriedades das relações. Através do processo de normalização pode-se, gradativamente, substituir um conjunto de entidades e relacionamentos por um outro, mais eficiente em relação às anomalias de atualizações (inclusão,alteração e exclusão) as quais podem causar certos problemas, tais como:  Grupos repetitivos de dados;  Dependências parciais em relação a chave concatenada;  Redundâncias de dados desnecessárias;
  • 4.  Perdas acidentais de informação;  Dificuldade na representação de fatos da realidade observada;  Dependências transitivas entre atributos. Para resolver os problemas acima foram propostas formas normais que devem ser aplicadas a um modelo de dados com o objetivo de garantir um modelo de dados livre dos problemas citados acima, estável e eficiente. A Normalização é necessária porque podem ocorrer erros de modelagem, sendo que a normalização se apresenta como uma técnica para garantir a integridade de um modelo de dados. PRIMEIRA FORMA NORMAL (1FN) A primeira forma normal assegura que não existam repetições de valores nos atributos nem grupos repetidos de atributos das entidades de um modelo de dados. Em uma determinada realidade, às vezes encontramos algumas informações que se repetem, retratando ocorrências de um mesmo fato dentro de uma única linha e vinculada a sua chave primária. A 1FN diz que: cada ocorrência da chave primária deve corresponder a uma e somente uma informação de cada atributo, ou seja, a entidade não deve conter grupos repetitivos de atributos ( atributos multivalorados ). Para se obter entidades da 1FN, é necessário decompor cada entidade não normalizada em tantas entidades quanto for o número de conjuntos de atributos repetitivos. Nas novas entidades criadas, a chave primária é a concatenação da chave primária original mais os atributos do grupo repetitivo visualizados como chave primária deste grupo. Dependência Funcional : Dada uma entidade qualquer, dizemos que um atributo ou conjunto de atributos A é dependente funcional de um outro atributo B contido na mesma entidade, se a cada valor de B existir nas linhas da entidade em que aparece, um único valor de A. Em outras palavras, A depende funcionalmente de B. Dependência Funcional Total Na ocorrência de uma chave primária concatenada, dizemos que um atributo ou conjunto de atributos depende de forma completa ou total desta chave primaria concatenada quando para cada valor da chave está associado um valor para cada atributo. Dependência Funcional Parcial Quando um atributo ou conjunto de atributos A depende de outro atributo B que faz parte da chave primária concatenada dizemos que há uma dependência funcional parcial A em relação a B. Para cada valor do atributo B existe um valor associado para o atributo A.
  • 5. Dependência Funcional Transitiva Quando um atributo ou conjunto de atributos A depende de outro atributo B que não pertence à chave primária, mas é dependente do atributo, dizemos que A é dependente transitico de B. Segunda Forma Normal (2FN) A segunda forma normal assegura que não exista dependencia funcional parcial no modelo de dados. Para aplicarmos a segunda forma formal em um modelo de dados devemos observar se alguma entidade do modelo possui chave primária concatenada e verificar se existe algum atributo ou conjunto de atributos com dependencia parcial em relação a algum atributo da chave primária concatenada. Com a finalidade de tornar ainda mais estável o modelo de dados, a aplicação da 2FN sobre as entidades em observação geram novas entidades, que herdarão a chave parcial e todos os atributos que dependem parcialmente da chave primária, ou seja, uma entidade para estar na 2FN não pode ter atributos com dependência funcional parcial em relação à chave primária. Terceira Forma Normal (3FN) A terceira forma normal assegura que nenhuma entidade do modelo de dados possui atributos com dependência transitiva. Assim, uma entidade está na 3FN se nenhum de seus atributos possui dependência transitiva em relação a outro atributo da entidade que não participe da chave primária, ou seja, não existe nenhum atributo intermediário entre a chave primária e o próprio atributo observado. Ao retirarmos a dependência funcional transitiva, devemos criar uma nova entidade que contenha os atributos que dependem transitivamente de outro e a sua chave primária é o atributo que causou esta dependência. Além de não conter atributos com dependência funcional transitiva, entidades na 3FN não devem conter atributos derivados que sejam o resultado de algum cálculo sobre outro atributo, o que de certa forma pode ser entendido como uma dependência funcional transitiva. Todo atributo derivado a partir de outro atributo deve ser retirado do modelo dados. O mesmo é válido para atributos que representam cálculos realizados com base em outros atributos da entidade. 2.1.1 1º Forma Normal (1FN) Aluno ra(PK) Nome Telefone cep_aluno(FK) Sexo email 2.1.2 2º Forma Normal (2FN)
  • 6. 2.1.3 3º Forma Normal (3FN) 2.2 DER (Diagrama Entidade Relacionamento)
  • 7. Fonte: https://sites.google.com/site/uniplibancodedados1/aulas/normalizacao Relatório 03 Projeto Lógico de Banco de Dados Parte II O PostgreSQL é um sofisticado sistema de gerenciamento de banco de dados. É conhecido como objeto relacional, apresenta características de conceitos de orientção a abjetos, como herança e tipos personalizados. Suporta quase todas as construções SQL, incluindo subseleções, transações, tipos definidos pelo usuário e funções. Seu código fonte é aberto e possui mais de 15 anos de desenvolvimento. Esta equipe se preocupou em manter a compatibilidade com os padrões SQL92/SQL99. Valor limite Banco de dados Tamanho máximo ilimitado Tamanho máximo da Tabela 32 TB Máximo Row Tamanho 1.6 TB
  • 8. Máxima de Campo Tamanho 1 GB Máximo de linhas por tabela Ilimitado Colunas máximos por tabela 250 - 1600 dependendo dos tipos de colunas Os índices máximos por tabela Ilimitado PostgreSQL ganhou elogios de seus usuários e reconhecimento da indústria , incluindo o Linux New Media Award de Melhor Sistema de Banco de Dados e cinco vezes vencedor do Prêmio 'Choice Os Editores de Revistas de Linux para melhor DBMS. 3.1 – Características e funcionalidades do SGBD PostgreSQL Características: SGBD robusto e confiável Objeto Relacional Open Source Compatível com o Padrão SQL/SQL99 Compatível com diversos S.O. Linux , UNIX (AIX, BSD , HP- UX, SGI IRIX , Mac OS X, Solaris, Tru64 ) , e Windows Funções que este SGBD Possui: Sub-consultas Funções armazenadas(Stored Procedures), que podem ser escritas em várias linguagens de programação(PL/PgSQL, Perl, Python, Ruby e outras); Gatilhos(Triggers); Esquemas(Schemas); 3.2 Exigências de processamento 8 MB de memória RAM disponível, 100MB de espaço em disco e sistema operacional Windows, Linux, Unix, BSD 3.3 Compatibilidades com Linguagens de programação PostgreSQL executa procedimentos armazenados em mais de uma dúzia de linguagens de programação, incluindo Java, Perl, Python, Ruby, Tcl, C / C + +, e seu próprio PL / pgSQL, que é semelhante ao PL / SQL do Oracle. Incluído com a sua biblioteca de funções padrão são centenas de built-in funções que vão desde operações de cadeia de matemática básica e à criptografia e compatibilidade Oracle. Triggers e procedimentos armazenados podem ser escritos em C e carregados na base de dados como uma biblioteca, permitindo uma grande flexibilidade em estender as suas capacidades. Da mesma forma, PostgreSQL inclui um quadro que permite aos desenvolvedores definir e criar seus próprios tipos de dados personalizados, juntamente com as funções e operadores que definem o seu comportamento
  • 9. de apoio. Como resultado, um grande número de tipos de dados avançados foram criados, que variam a partir de primitivas geométricas e espaciais para os endereços de rede para nivelar ISBN / ISSN (International Standard Book / Número de Série Padrão Internacional) tipos de dados, os quais podem ser opcionalmente adicionados ao o sistema. 3.4 Tabelas do Banco de Dados Fonte: http://www.postgresql.org/ 4 Operações de Álgebra Relacionais 4.1 Operações de Seleção Exibe nome e RA todos os alunos por ordem de RA SELECT nome, ra FROM aluno ORDER BY ra Exibe nome e telefone , disciplina que leciona de todos os professores 4.3 Operações de junção SELECT p.nome, p.telefone, d.nome_disc FROM professores p INNER JOIN disciplina d ON p.cpf = d.cpf_prof;
  • 10. Exibe nome notas e frequência dos alunos SELECT a.nome,