atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 conversion gate01

13
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;

Upload: michael-oliveira

Post on 22-Dec-2015

6 views

Category:

Documents


2 download

DESCRIPTION

Atps Banco de Dados

TRANSCRIPT

Page 1: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

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.

Page 2: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

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.

Page 3: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

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;

Page 4: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

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.

Page 5: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

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)

Page 6: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

2.1.3 3º Forma Normal (3FN)

2.2 DER (Diagrama Entidade Relacionamento)

Page 7: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

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

Page 8: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

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

Page 9: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

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 alunoORDER 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;

Page 10: Atpsdebancodedadosrel1 3 4atualizadoformatook 141115090148 Conversion Gate01

Exibe nome notas e frequência dos alunos

SELECT a.nome,