Buscar

BD

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Capitulo 1 - Introdução a banco de dados.
Banco de dados é uma forma de organizar e categorizar os dados de forma ha maximizar o alcance a estes dados.
Bancos de dados digitais são os análogos digitais as nossas antigas gavetas de arquivos que, já em sua época, revolucionaram toda a forma de se armazenar os dados. 
Com a revolução digital, os sistemas digitais começaram a utilizar esta maneira de organizar os dados de forma a maximizar a capacidade dos sistemas digitais da época que eram bem precários comparados aos de hoje.
Os bancos de dados podem ser visualizados como uma grande pasta, onde dentro desta pasta existem tabelas. Basicamente um bando de dados digital é uma grande pasta com muitas tabelas em que o computador busca e relaciona estes dados entre eles para retornar as informações que lhe são convenientes.
Os bancos de dados são geridos e operados por um sistema chamado SGBD (Sistemas Gerenciadores de Bancos de Dados). Antes deles, os bancos eram geridos pelos próprios sistemas operacionais, o que causava lentidão e desperdício de recursos.
Hoje em dia os SGBD são praticamente uma totalidade do mercado, onde estão integrados em praticamente todos os sistemas.
Compartilhando dados
Muitas vezes, a implantação da Informática em organizações ocorre de forma evolutiva e gradual. Inicialmente, apenas determinadas funções são automatizadas.
Mais tarde, à medida que o uso da Informática vai se estabelecendo, novas funções vão sendo informatizadas.
Os compartilhamentos de dados ocorrem devido a grande necessidade do mercado de provir informações a suas contrapartes, fazendo uso de sistemas informatizados.
Com o compartilhamento feito, todo o sistema pode ser acessado por múltiplas pessoas, aumentando o acesso aos dados e com isso aumentando o faturamento.
Redundância
Redundância é um problema que ocorre no armazenamento de dados dês de seu inicio.
A redundância é armazenar mais de uma vez uma informação no mesmo banco de dados, ocupando um espaço desnecessário em seus registros.
Na época dos grandes bancos de papel, ocorria com muita freqüência, devido ao fato de que para levantar informações, completas nem um banco físico, era necessário trabalho braçal físico, de buscar os documentos que são necessários para formar todas as informações. 
Com o advento do digital, as necessidades de trabalhos físicos foram substituídas pela maquina, logo as buscas podem ser feitas e relacionadas de forma muito mais rápida.
Introdução a banco de dados
NOME:__________________________________ N°_____
TURMA:_______
PROFESSOR:_______________
	
DATA: __/__ /____ 					NOTA: 
											
Exercícios
1. Defina Banco de Dados.
2. O que é SGBD?
3. Com o compartilhamento de bancos de dados, houveram grandes avanços, cite alguns.
4. Defina com suas palavras, o que a informatização dos bancos de dados trouxe de bom para o mundo da informática?
5. A redundância de dados era um problema muito freqüente, defina o motivo pelo qual ela ocorria, e como foi possível sanar esta deficiência.
6. 
Atividade Pratica: 01
1 – Faça uma pesquisa sobre o modelo de banco de dados chamado “FIREBIRD”. Defina suas principais características e diferenciais.
Capitulo 2 – Sistema de gerencia de banco de dados.
A programar de aplicativos para computadores sofreu profundas mudanças desde seu inicio, quando se usavam linguagens como Basic, Clipper, COBOL, C e outras. Os programadores incorporavam em um programa toda funcionalidade desejada. O programa continha as operações da interface de usuário, os cálculos, as operações de armazenamento de dados, bem como as tarefas de comunicação com outros sistemas.
Com o tempo, foram sendo identificadas funcionalidades comuns a muitos programas. Por exemplo, hoje em dia, não é necessário o que se faça o calculo dos dados em seu sistema, podendo ser feito pelo banco de dados e enviado ao sistema apenas a resposta destes dados.
Entretanto, normalmente o programa não contém todo código referente à 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 freqüentemente, 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).
Em resumo, estes SGBD são códigos prontos incorporados no banco de dados que permite que se utilize em qualquer programa feito em qualquer linguagem compatível.
Essa forma de programar 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á prontas.
Nesta obra trataremos de um modelo de SGBD, chamado de ‘relacional’, pois é o predominante no mercado. 
Programando com banco de dados
Quando construímos sistemas que necessitam de bancos de dados, temos que leva em consideração o SGBD. Os bancos de dados hoje em dia com a tecnologia do SGBD tão avançada, nos fornece tantas funções prontas que muitas coisas não precisam ser programadas, podemos apenas enviar o que queremos para o banco e o mesmo nos retorna. 
Um exemplo: Suponhamos que queremos retornar do banco de dados uma lista com todos os funcionários de uma empresa que: (mais de 20 anos de casa ‘E’ seja mulher ‘E’, tenha um salário maior que 2000). É possível apenas pedir ao banco que nos retorne esta lista já com todas as condições executadas, não necessitando que seja feita esta triagem com a programação. 
Isso é apenas o básico, podemos retornar contas feitas, associações entre tabelas, tudo feito pelo banco de dados diretamente.
Sistema de gerencia de banco de dados
NOME:__________________________________ N°_____
TURMA:_______
PROFESSOR:_______________
	
DATA: __/__ /____ 					NOTA: 
											
Exercícios
1. Defina com suas palavras as vantagens de se ter as funções integradas ao banco como descrito no texto.
2. Com as triagens feitas no banco de dados, o que melhora para o programador e para o desenvolvedor de sistemas?
3. Antigamente não havia esta integração do banco de dados e funções auxiliares, cite algumas dificuldades encontradas devido a esta falta de integração.
4. Com a facilidade das funções prontas, fica muito mais fácil desenvolver os programas, defina de forma simples o que o programador não necessita mais fazer graças a elas?
5. Os sistemas de banco de dados possuem muitas funções prontas, com a facilidade de manuseio, cite a os principais motivos de se ter massificado este método de programá-los.
Atividade Pratica: 02
1 – Faça uma pesquisa sobre a linguagem de bancos de dados SQL. Sua definição e utilidade no mercado de bancos de dados.
Capitulo 3 - Modelos de banco de dados / Modelo conceitual
Um modelo de banco de dados é uma descrição dos tipos de informações que estão armazenadas em um banco de dados. Por exemplo, no caso da indústria, o modelo de dados poderia informar que o banco de dados armazena informações sobre produtos e que, para cada produto, são armazenados seu código, preço e descrição. Veja que o modelo de dados não informa quais os produtos que estão armazenados no banco de dados, mas apenas quais são as informações e seus tipos.
Em resumo, um modelo de banco de dados é uma síntese de tudo que este banco armazena de forma a todos entenderem seu funcionamento. 
Linguagem de modelagem de dados
Para demonstrar um modelo de dados, usa-se uma linguagem de modelagem de dados. Linguagens de modelagem de dados podem ser divididas em duas formas de se apresentar. Em linguagens textuais ou linguagens gráficas. Como veremos adiante, um mesmo modelo de dados pode ser apresentado de várias formas. Cada apresentação do modelo recebe a denominação.
Apesar dos modelos serem diferentes, todos tem o mesmoobjetivo, sendo assim, a escolha do modelo deve ser feita analisando o sistema e principalmente visualizando quem vai utilizar este modelo.
De acordo com a intenção do modelador, um banco de dados pode ser descrito em vários níveis de profundidade. Um modelo 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 aperfeiçoar a desempenho 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.
Modelo Conceitual
O modelo conceitual é uma descrição do banco de dados de forma totalmente independente do SGBD (Sistema de gerenciamento de Banco de Dados). O modelo conceitual registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão armazenados como no SGBD.
A técnica mais comum 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). 
Um DER é bem parecido com os, muito usados na programação, fluxogramas. Sendo assim, a mesma é desenhada e forma retilínea e padronizada, facilitando assim o entendimento do processo por uma ou mais pessoas.
A Figura abaixo apresenta um DER parcial para uma escola.
O modelo acima mostra a interação entre duas tabelas no banco de dados. A tabela Apostila e a tabela Turma. Pela descrição vemos que a tabela Apostila possui 3 campos, Preço, Descrição, e Codigo_Turma. A tabela Turma possui dois campos, Código e Descrição.
No desenho percebemos outras coisas, inicialmente o desenho de relação (este grande losango), que indica que há uma relação entre estas duas tabelas, ou seja, elas possuem dados que podem ser cruzados. A segunda é esta pequena notação nos dois lados do losango, onde ao lado esquerdo existe a letra ‘n’ e ao lado direito o numero ‘1’. Esta informação indica que a tabela que esta ao lado esquerdo do losango pode possuir muitos registros ‘n’ que se relacionam com apenas um ‘1’ da tabela ao lado direito do losango. Esta notação será estudada mais a frente, porem como visto aqui é possível imaginar que possuímos quatro combinações entre ‘n’ e ‘1’. Que serão estudadas mais a frente. 
Outra coisa a ser observada são os pequenos círculos que estão presentes acima de cada tabela. Cada circulo simboliza um campo da tabela. O que devemos nos atentar é no circulo preto. Este circulo preto representa o elo entre a tabela da esquerda ‘n’, para a tabela da direita ‘1’, ou seja, o numero contido no campo ‘Codigo_Turma’ da tabela da esquerda, deve ser o numero que representa a turma dele na tabela da direita no campo Código, ficando assim fácil de relacionar estes dados. Segue o exemplo abaixo de um possível preenchimento.
	Codigo_Turma
	Preço
	Desc
	1
	20
	Fisica
	1
	20
	Quimica
	2
	25
	Mat
	Codigo
	Descricao
	1
	TIN1
	2
	TIN3
	3
	TIN3
 
Como podemos ver, a tabela da esquerda, possui duas apostilas da turma TIN1, e uma apostila da turma TIN2.
Nos capítulos posteriores estudaremos a relação que poderemos fazer entre bancos e um software que nos auxiliara a fazer estes projetos e exportados para bancos reais.
Modelos de banco de dados / Modelo conceitual
NOME:__________________________________ N°_____
TURMA:_______
PROFESSOR:_______________
	
DATA: __/__ /____ 					NOTA: 
											
Exercícios
1. Defina modelos de banco de dados.
2. Um modelo escrito para o usuário final é o mesmo que o descrito para o que será entregue ao programador? Explique.
3. Defina “ER”.
4. Defina com suas palavras o símbolo de losango nos “DER”.
5. O que você entende sobre o relacionamento 1 para N.
Atividade Pratica: 03
1 – Faça uma pesquisa sobre o software DBDesiner. Sua utilidade e praticidade.
2 – Faça um DER parcial diferente do exemplo dado na apostila.
Capitulo 4 - Modelos Lógicos
Um modelo lógico é uma demonstração escrita de um banco de dados no nível de profundidade mais amplo, porem determinado pelo usuário que ira o utilizar. Assim, o modelo lógico é dependente do qual SGBD que está sendo usado.
Na presente obra, serão tratados apenas modelos lógicos referentes ao modelo SGBD relacional, nele os dados estão organizados na forma de tabelas.
	Tabela: Apostila
	Codigo_Turma
	Preço
	Desc
	1
	20
	Fisica
	1
	20
	Quimica
	2
	25
	Mat
	Tabela: Turma
	Codigo
	Descricao
	1
	TIN1
	2
	TIN3
	3
	TIN3
Na imagem acima temos um exemplo de BD projetado de forma semelhante ao do modelo conceitual mostrado na imagem de exemplo do capitulo anterior. Um modelo lógico para o BD acima deve definir quais as tabelas que o banco contém e, para cada tabela, quais os nomes das colunas.
Basicamente o modelo lógico trabalha com tabelas de forma semelhante ao Excel, onde é possível listar todas as tabelas e suas colunas de forma clara e exata.
Existe também no modelo lógico o modo textual, onde o criador do modelo pode descrever de forma simples e direta, em forma de texto corrido, todas as tabelas e suas respectivas colunas. Segue abaixo um exemplo deste modo textual, aplicado ao nosso exemplo anterior.
Apostila(Codigo_Turma, Preço, Desc)
Turma(Codigo, Descricao)
Apostila-Codigo_turma referencia Turma-Codigo
Como podemos ver acima, o modelo lógico consiste em uma estrutura simples de designação, onde se segue um modelo básico de como declarar cada tabela, seus campos e relações entre elas. 
Seguindo nosso modelo vemos que, cada tabela e descrita pelo nome, e logo após o nome é aberto parênteses, dentro dele, coloca-se o nome de cada campo, opcionalmente coloca-se o tipo de dado que será contido ao lado do campo como String ou numérico. 
Após a declaração de todas as tabelas, coloca-se as interligações entre elas. Para isso coloca-se o nome da tabela, um hífen, o nome do campo que faz a ligação, a palavra ‘referencia’, o nome da tabela que recebe a ligação, o nome do campo que possui o dado da ligação. Vendo o exemplo a cima fica muito mais fácil de compreender.
O modelo lógico descreve a estrutura do banco de dados, conforme ela funciona para o SGBD. Muitos detalhes de como funciona o armazenamento interno destas informações, que não tem influencia sobre a programação, mas podem influenciar a desempenho da aplicação como, por exemplo as estruturas de arquivos usadas no acesso as informações, velocidade da conexão, hardware da maquina. Este tipo de coisa não faz parte do modelo lógico mais deve ser levada em consideração na hora de desenvolver nossa aplicação. 
Modelos Lógicos
NOME:__________________________________ N°_____
TURMA:_______
PROFESSOR:_______________
	
DATA: __/__ /____ 					NOTA: 
											
Exercícios
1. Defina com suas palavras o modelo lógico.
2. Descreva o motivo de o modelo lógico ser mais interessante para o uso que o relacional ou vice versa.
3. Descreva como devemos proceder para escrever um modelo lógico textual de forma correta.
4. Que outros fatores podem influenciar um baixo desempenho no banco de dados alem de um modelo mal escrito?
5. Em sua opinião o que não pode ocorrer em um modelo de banco de dados para não influenciar de forma negativa o rendimento do sistema?
Atividade Pratica: 04
1 – Faça uma pesquisa sobre aplicações de modelos de banco de dados.
2 - Faça um modelo lógico textual parcial considerando as tabelas abaixo:
	Tabela: Aluno
	Codigo_Turma
	Nome
	Tel
	1
	João
	323232
	1
	Maria
	123456
	2
	Jose
	654321
	Tabela: Apostila
	Código
	Apostila
	1
	AP 1
	2
	AP 2
	3
	AP 3
	
Capitulo 5 - Modelo conceitual como modelo de organização / Tipos de inter-relações.
Modelo conceitual como modelo de organização
Como vimos nos capítulos anteriores, nos podemos representar bancos de dados de forma variada de acordocom a necessidade e utilidade.
 Podemos nos aprofundar com modelos lógicos e conceituais juntos para auxiliar um possível programador que vai mexer em nosso código no futuro, ou ate quem sabe você mesmo precise mexer nisso depois de algum tempo. Ou podemos ser brandos e superficiais utilizando somente o modelo conceitual de forma bem simples para o usuário final ter alguma noção do que o sistema esta fazendo, ou ate quem sabe para o comprador deste sistema que necessite de uma explicação simples, mas completa sobre ele.
Um fato que devem ter notado é que o sistema conceitual é muito mais simples e inteligível que o lógico, chega a ser tão simples que podemos aplicar ele em modelos de organização empresarial. 
Para entendermos melhor, pensemos no modelo utilizado nos capítulos anteriores (descrito novamente abaixo):
Neste modelo podemos retirar duas coisas, a primeira é de um modelo abstrato de organização, o modelo nos informa que na escola a um numero ‘n’ de apostilas relacionadas a apenas uma turma. A segunda é um modelo abstrato de banco de dados, um modelo que informa como o banco de dados processa as informações que estão descritas nele. 
Na pratica convencionou-se iniciar um projeto pelo modelo abstrato de organização, depois para o modelo de banco de dados, para só assim partir para o desenvolvimento real. Esta pratica, nos poupa tempo e gastos desnecessários, faz a fase inicial de um projeto ser mais longa, porem a fase final fica mais curta e menos imprevisível.
Chave primaria.
Chave primaria é, como o nome diz, uma forma única de diferenciar os registros entre si. Logo, em uma tabela, a chave primaria representaria um numero pessoal de cada registro nela. 
Vejamos o exemplo abaixo:
	Tabela: Aluno
	Codigo_Turma
	Nome
	Tel
	1
	João
	323232
	1
	Maria
	123456
	2
	Jose
	654321
	Tabela: Turma
	Código
	Descrição
	1
	TIN1
	2
	TIN3
	3
	TIN3
No exemplo acima, temos duas tabelas, a tabela “Turma” possui uma chave primaria, o campo código, nenhum registro pode ter o mesmo numero neste campo.
Já a tabela “Aluno” não possui esta chave, logo é possível que os registros sejam iguais, o que causaria um serio problema de inconsistência no nosso sistema, pó isso, para evitar que isso aconteça o ideal era que esta tabela fosse de maneira descrita abaixo:
	Tabela: Aluno
	Codigo
	Codigo_Turma
	Nome
	Tel
	1
	1
	João
	323232
	2
	1
	Maria
	123456
	3
	2
	Jose
	654321
	Desta forma, inserindo a chave primaria na tabela, acabaria com qualquer inconsistência que pudesse ocorrer.
Tipos de inter-relações
As inter-relações são as maneiras com que uma tabela se relaciona com a outra. Até o momento estamos usando um exemplo que se relaciona de forma (N para 1). Agora falaremos melhor desta e de todas as outras inter relações.
· Um para um (1 para 1) - indica que as tabelas têm relação de um para um entre si. Você define qual tabela vai receber a chave da outra. Normalmente esta técnica é usada para dividir os dados de um mesmo registro entre tabelas para diminuir o a dificuldade das pesquisas.
· Um para muitos (1 para N) – Nesta tipo de relação, a tabela do lado ‘n’ referencia as chaves primarias da tabela do lado ‘1’. Como citado no exemplo a cima, podemos referenciar vários registros de uma tabela a um único registro de outra tabela.
· Muitos para muitos (N para N) - quando tabelas têm entre si relação n..n, é necessário criar uma terceira tabela com as chaves primárias das tabelas envolvidas, ficando assim esta tabela responsável pela interconexão entre elas, A relação então se reduz para uma relação 1..n para as duas tabelas envolvidas, sendo que o lado n ficará com a nova terceira tabela criada.
Os relacionamentos 1 para 1 e 1 para N podem ser descritos diretamente ao colocar chaves de uma tabela em outra. Já o relacionamento n para n exige o uso de uma tabela auxiliar. 
Modelo conceitual como modelo de organização / Tipos de inter-relações
NOME:__________________________________ N°_____
TURMA:_______
PROFESSOR:_______________
	
DATA: __/__ /____ 					NOTA: 
											
Exercícios
1. O que podemos retirar de um modelo conceitual? Cite e descreva as duas.
2. Como convencionou-se desenvolver um projeto do ponto de vista do banco de dados?
3. Defina o que é, e qual a utilidade de chave primaria?
	
4. O que são interconexões de banco de dados?
5. Descreva com suas palavras o que entende por interconexão N para N.
	
Atividade Pratica: 05
1 –Faça uma pesquisa sobre as funções nativa que o banco de dados “FIREBIRD” nos proporciona.
2 – Não utilizando o que se encontra na apostila, crie exemplos para as 4 inter-relações possíveis utilizando o modelo abstrato.
	
Capitulo 6 - Introdução ao DBDesinger
Agora começaremos o nosso desenvolvimento pratico utilizando a ferramenta DBDesinger.
Desenvolvido pela FabForce, o DBDesinger é uma ferramenta gratuita onde é possível fazer a modelagem dos bancos de dados para qualquer plataforma. 
Esta ferramenta tem como seu publico alvo desenvolvedores de software, administradores de banco de dados (DBA), agentes de TI, professores e estudantes das áreas técnicas. 
Mas o que ela faz exatamente? Bom, basicamente faz a modelagem de dados de forma gráfica, montando os desenhos e as ligações necessárias para que seja feita uma modelagem perfeita.
Uma ultima coisa que deve ser levada em consideração é que o programa exporta os modelos para bancos de dados reais, ou seja, depois de modelado é possível exportar todo o modelo para um sistema real de banco de dados.
Inicialmente é possível baixar este software no site: http://www.fabforce.net , para qualquer versão do Windows.
A instalação é naquele padrão clássico, onde se segue lendo e fazendo possíveis correções nas etapas e clicando em “próximo”. 
Depois de instalado, ícones de atalho com o logo do software na área de trabalho e no ‘Menu Iniciar’.
	
Seguindo com nossa explicação, abriremos o programa, e a tela que veremos e a tela a seguir:
Analisando a tela acima, temos uma divisão clara. 
A esquerda temos o menu “toolbox” onde temos is itens que serão utilizados para montar nossa base de dados conceitual.
No centro temos a área de trabalho, um local onde se coloca toda as informações necessárias, desenha, organiza, liga e monta todo o nosso projeto.
No lado direito temos as configurações, neste ponto fica as configurações básicas de nosso projeto.
Acima temos o menu padrão de configuração do software, comum em quase todos os programas feitos para Windows.
Primeiras utilizações.
Iniciaremos nosso projeto com um exemplo pratico. 
A primeira coisa a ser feita é uma configuração padrão que foi indicada no manual do fabricante do software que é:
Clicar no menu superior na opção ‘Display’, e em seguida na ‘Notation’. Ao posicionar o mouse em cima desta ultima, deve-se escolher no menu suspenso a opção ‘Crows Foot’. Esta configuração é necessária para TODOS os projetos que se seguirão e em todas as possíveis utilizações que você venha a precisar.
Primeiro exemplo
Vamos começar nosso exemplo baseado nos exemplos que usamos anteriormente. Desenho abaixo: 
Utilizando o programa.
Vamos começar com a criação das tabelas.
Para criar as tabelas devemos utilizar o menu da esquerda, no objeto ‘Table’ como indica a imagem abaixo:
Para utilizarmos devemos clicar nele e em seguida na área branca de trabalho. Como na imagem abaixo:
Para configurar a tabela clica-se duas vezes na mesma que ira abrir uma nova tela de configuração como na imagem abaixo:
Logo na parte superior temos o campo “Table Name”. Neste campo preencheremos o nome da tabela. Que no nosso caso será: ‘Apostila’.
Abaixo colocamos os campos que compõem a tabela Apostila. Clica-se duas vezes no campo em branco e se preenche os campos. Cada coluna da tabela deve ser preenchida com algum valor especifico. Listaremos abaixo quais os valores.
· Column Name: Nome dado ao campo da tabela. 
· DataType: Tipo de dado que será contido neste campo. Os tipos disponíveis serão vistos mais afrente porem fica discriminado algo como numérico textual etc...
· NN (Not Null): Quando a opção estiver selecionada (sinal aparecendo) significa que não é permitido deixar a coluna vazia. Para alterar a opção, basta clicar no sinal (ele é do tipo “liga/desliga”). Obs: a coluna chave primária SEMPRE terá essa opção selecionada.
· AI (Auto Increment): Quando essa opção estiver selecionada significa que os valores da coluna serão criados automaticamente pelo banco de dados. Utilizada somente para colunas chave primária, determina que ela será automaticamente numerada de um em um, a partir do número 1.
· Flags: Essas opções serão alteradas automaticamente de acordo com o tipo de dado escolhido.
· Default Value: Deve ser usado quando a coluna tiver um valor padrão que deve ser utilizado, mesmo que não seja entrado dado nenhum nela. Como exemplo, podemos imaginar uma tabela onde os dados sobre o estado de origem da pessoa devem ser armazenados. Imaginemos que 99% das pessoas são do estado de SP, nesse caso seria interessante determinar SP como valor padrão.
· Comments: Esse campo serve para que possamos colocar comentários sobre as colunas criadas.
Para nosso exemplo funcionar preencheremos para a tabela apostila os seguintes dados:
	Nome da Coluna
	Tipo
	Auto Incremento
	ID
	Integer
	Sim
	Preço
	Float
	Não
	Descricao
	Varchar(255)
	Não
Por padrão na parte de baixo o sistema definirá que o ID é a chave primaria.
Feito isso faça o mesmo para a outra tabela cujo nome é ‘Turma’ e cujas colunas são:
	Nome da Coluna
	Tipo
	Auto Incremento
	ID
	Integer
	Sim
	Descriçao
	Varchar(255)
	Não
Terminado de se criar as duas tabelas, teve-se ter algo semelhante a isso:
Feito isso você deve estar se perguntando aonde esta o campo “Codigo_turma” que é necessário para fazermos o relacionamento entre as tabelas? Ele será criado agora no ato de criação do próprio relacionamento.
Para criar a relação de 1 para N como queremos criar devemos clicar o ícone . Ao clicar no componente, percebemos que o mouse muda de forma, isso quer dizer que os próximos dois cliques dele ira determinar quem será o ‘1’ e quem será o ‘n’. Por padrão, o campo da tabela usado para o relacionamento no lado ‘1’ é o índice que tem o ‘auto_increment’ ligado, no nosso caso o campo “Codigo” da tabela “Turma”.
NOTA: O primeiro clique é o ‘1’, essa ordem é irrevogável e intransferível, se clicar em outra ordem, apague o relacionamento e comece de novo.
NOTA2: Quando clicar no ‘n’, automaticamente ira se criar um novo campo na tabela que esta do lado do ‘n’, no nosso caso a tabela Apostila ira criar um campo com o nome “Turma_Codigo” para melhor identificá-lo. 
Após criar o relacionamento, podemos fazer uma pequena modificação, o nome que aparece nele pode ser modificado por dois cliques no mesmo e reescrever-lo.
Nosso exemplo deve ficar algo assim:
Introdução ao DBDesinger
NOME:__________________________________ N°_____
TURMA:_______
PROFESSOR:_______________
	
DATA: __/__ /____ 					NOTA: 
											
Exercícios
1. O que voce entende por DBDesigner? 
2. Qual a configuração que deve ser feita em qualquer projeto antes de iniciarmos?
3. Defina “AI” no software DBDesigner.
4. Observando o losango da imagem final do texto, o lado tingido de preto significa ‘1’ ou ‘n’?
5. Ao utilizar o relacionamento de 1 para n, qual que deve ser clicado primeiro baseado no software DBDesigner?
Atividade Pratica: 06
1 - Faça uma pesquisa sobre as funções nativa que o banco de dados “ORACLE” nos proporciona.
2 – Baseado no exemplo de tabela abaixo, crie o modelo no DBDesigner que se comporte como o exemplo. Lembrando que o exemplo possui registros mas o DBDesigner não os possui.
	Tabela: Aluno
	ID
	Codigo_Turma
	Nome
	Tel
	1
	1
	João
	323232
	2
	1
	Maria
	123456
	3
	2
	Jose
	654321
	Tabela: Apostila
	Código
	Descrição
	1
	AP 1
	2
	AP 2
	3
	AP 3
Entendendo as variáveis e modelos simples
Seguido nossos estudos sobre DBDsinger, vamos aprofundar um pouco mais nossa visão estudando sobre os tipos de variáveis que encontramos principalmente neste software.
Para começarmos temos que ter claro que não serão explanados todos os tipos realmente disponíveis, porem falaremos dos mais usados na realidade do desenvolvedor. As descrições e tamanhos descritos abaixo são baseados no sistema de banco de dados FIREBIRD, podendo variar em alguns pontos e nomes para outras bases porem sem comprometer seu real significado.
· INTEGER: Variáveis do tipo INTEGER são utilizadas para armazenar valores numéricos inteiros (não contendo números quebrados). Esta variável é limitada em 4 bytes, e seu tamanho padrão varia de -2.147.483.648 a 2.147.483.647.
· FLOAT: Variáveis do tipo FLOAT são utilizadas para armazenar valores numéricos com ponto flutuante (contem números quebrados). Esta variável é limitada em 4 bytes e seu tamanho padrão varia 7 decimais significativos; -3.4 x 10^-38 até 3.4 x 10^38.
· DOUBLE: Variáveis do tipo DOUBLE são utilizadas para armazenar valores numéricos com ponto flutuante (contem números quebrados). A diferença entre ela e a FLOAT é seu tamanho. Esta variável é limitada em 8 bytes e seu tamanho padrão varia 15 decimais significativos -1.7 x 10^-308 até 1.7 x 10^308.
· BOOL: Variáveis do tipo BOOL são utilizadas para valores booleanos, ou seja, verdadeiro ou falso (TRUE ou FALSE). Esta variável possui apenas 1 bit, pois ela apenas armazena um valor binário simples.
· VARCHAR(num): Variáveis do tipo VARCHAR são utilizadas para armazenar valores do tipo alfanumérico (Texto) . Variáveis VARCHAR possuem um tamanho variável, determinado na hora de sua criação pelo numero que é colocado entre os parênteses, podendo variar de 1 a 255 caracteres.
· TEXT: Variáveis do tipo VARCHAR são utilizadas para armazenar valores do tipo alfanumérico (Texto) . Variáveis VARCHAR possuem um tamanho variável, determinado na hora de sua criação pelo numero que é colocado entre os parênteses, podendo variar de 1 a 255 caracteres.
· BLOB: Variáveis do tipo BLOB são utilizadas para armazenar valores binários (arquivos em geral como fotos e documentos). Esta variável tem um tamanho determinado na hora do upload do arquivo, podendo variar até 8GB.
· DATE: Variáveis do tipo DATE são utilizadas para armazenar valores de data (datas no padrão americano). Esta variável tem um tamanho de 4 bytes. Esta variável tem que respeitar um padrão de entrada, logo este padrão é o padrão americano: MM-DD-AAAA, podendo variar de 01-01-0001 á 12-31-9999.
· TIME: Variáveis do tipo TIME são utilizadas para armazenar valores de hora (hora corrente de dia). Esta variável tem um tamanho de 4 bytes. Esta variável tem que respeitar um padrão de entrada que é: hh:mm:ss, podendo variar de 00:00:00 á 23:59:59.
· TIMESTAMP(DATETIME): Variáveis do tipo TIMESTAMP são utilizadas para armazenar valores de data e hora (data no padrão americano e hora corrente de dia). Esta variável tem um tamanho de 8 bytes. Esta variável tem que respeitar um padrão de entrada que é o padrão americano: MM-DD-AA hh:mm:ss, podendo variar de 01-01-0001 00:00:00 á 12-31-9999 23:59:59.
Acima temos apenas as variáveis mais usadas, deixando margens para mais muitas variáveis que podem ser encontradas facilmente conforme a necessidade. 
Vendo os itens acima, percebemos que existem variáveis parecidas, porem usadas de forma diferente conforme a necessidade. Uma coisa que deve-se levar em consideração na hora de escolher uma variável é seu peso para a base. Como assim seu peso? Peso neste caso e o tanto de memória que ela ocupará no nosso sistema. 
Apesar dos valores serem baixos para os padrões de hoje, em bancos de dados com quantidades enormes de dados, um byte por registro faz muita diferença. Analisaremos um exemplo, a variável do tipo VARCHAR e do tipo TEXT. A variável VARCHAR varia de tamanho de 1 caractere a 255 caracteres, já a variável TEXT pode armazenar um valor virtualmente ilimitado de caracteres. Então porque não usar apenas a variável tipo TEXT? Basicamente seu pesomínimo, uma variável do tipo TEXT possui um peso mínimo maior que uma variável tipo VARCHAR ocupando os 255 caracteres. Logo se você como analista de banco de dados, reconhecer que este registro não recebera nenhum valor maior que 255 caracteres, ou saber a quantidade exata ou aproximada, é mais lógico colocar o VARCHAR, pois ele é mais leve para o banco de dados.
Apenas experiências na área te concederão um gabarito para saber que tipo de variável deve ser utilizada, porem deve-se sempre fazer uma analise das necessidades do sistema antes, para evitar desperdícios de recursos de nosso servidor.
Modelo Triplo
Vamos dar um novo exemplo, utilizando duas ligações de 1 para N.
	Tabela: Aluno
	ID
	Codigo_Turma
	Codigo_enem
	Nome
	Tel
	1
	1
	2
	João
	323232
	2
	1
	3
	Maria
	123456
	3
	2
	3
	Jose
	654321
	Tabela: ENEM
	Código
	Qualificacao
	1
	Otimo
	2
	Bom
	3
	Ruim
	Tabela: Turma
	Código
	Descrição
	1
	TIN1
	2
	TIN3
	3
	TIN3
Analizaremos o que esta descrito acima. Podemos ver que na tabela aluno agora há duas referencias, o “Codigo_Turma” e o “Codigo_enem” visto assim, temos então uma relação de 1 para n da tabela aluno para a tabela ENEM e a mesma relação entre a tabela Aluno e a tabela Turma. Utilizando o DBDesigner vemos o que sairia.
Entendendo as variáveis e modelos simples
NOME:__________________________________ N°_____
TURMA:_______
PROFESSOR:_______________
	
DATA: __/__ /____ 					NOTA: 
											
Exercícios
1. Defina com suas palavras a principal diferença entre INTEGER e FLOAT.
2. Ao utilizar o tipo de variável DATE, esta correto esta formatação: 20/10/2020? Justifique;
3. De uma utilidade para o tipo de variável BLOB.
4. Para armazenar valores monetários de produtos de uma mercearia, seria melhor utilizar o tipo de variável FLOAT ou DOUBLE? Justifique.
5. É possível utilizar interligações entre varias tabelas por meio de relacionamento? Justifique.
Atividade Pratica: 07
1 – Faça uma pesquisa sobre mais 5 tipos de variáveis não descritas na apostila, descreva-as .
2 – Faça um modelo no DBDesigner que respeite o desenho abaixo. OBS: O desenho não contem a coluna onde fica as relações, deve-se analisar o caso e descobrir.
 
	Tabela: Produto
	ID
	Nome
	Valor
	Quant
	1
	Arroz
	5,00
	10
	2
	Feijão
	4,50
	15
	3
	Mussarela
	20,00
	15
	Tabela: Tipo_prod
	ID
	Tipo
	1
	Laticínio
	2
	Grão
	3
	massa
	4
	Fruta
	Tabela: Marca
	ID
	Marca
	1
	Boafonte
	2
	JoaninhaProd
	3
	Queijos da fazenda
	4
	Casablanca
Bibliografia
· Projeto de Banco de Dados 4ª edição Autor: Carlos Alberto Heuser
· DBDesigner 4 – Apostila oficial do sistema. www.fabforce.net
· Banco de dados relacional - Wikipedia a enciclopédia livre http://pt.wikipedia.org/wiki/Banco_de_dados_relacional
· Documentações presentes na Oracle. http://www.oracle.com
28

Continue navegando