Escolar Documentos
Profissional Documentos
Cultura Documentos
Base de dados.
De:
Raquelina Evaristo de Sousa
Tete
Janeiro, de 2021
ii
Índice
1. Introdução............................................................................................................................4
2. Objetivos..............................................................................................................................4
3. MYSQL...............................................................................................................................5
3.1. História.........................................................................................................................5
3.3. Características..............................................................................................................6
4. MODELAGEM DE DADOS..............................................................................................7
4.3. Entidades....................................................................................................................11
4.4. Atributos.....................................................................................................................12
4.5. Chaves........................................................................................................................14
4.6.2. Relacionamentos.................................................................................................18
iii
4.7.1. Normalização......................................................................................................20
5. Conclusão..........................................................................................................................23
6. Bibliografia........................................................................................................................24
4
1. Introdução
Neste artigo teremos como objetivo conhecer um pouco sobre MySQL, que é um SGBD
(Sistema Gerenciador de Banco de Dados) relacional, que utiliza a linguagem
SQL (Structured Query Language, ou traduzindo, Linguagem de Consulta Estruturada).
MySQL também é multiusuário e multitarefas.
2. Objetivos
2.1. Objetivo geral
Conhecer MySQL
Definir MySQL
5
3. MYSQL
MySQL é conhecido por ser de fácil utilização, e usado por empresas que trabalham com
grandes volumes de dados, tais como, NASA, Bradesco, HP, Sony entre outras grandes
empresas de renome. Possui uma interface extremamente simples e é compatível com grande
parte dos sistemas operacionais. Podemos dizer que essas são duas das grandes características
que fazem o MySQL ser tão utilizado atualmente e estar em constante crescimento.
Mesmo sendo um dos bancos de dados mais utilizando em todo o mundo, MySQL continua
em constante desenvolvimento, com atualizações frequentes.
3.1. História
O MySQL foi criado na Suécia, a MySQL AB, desenvolvedora do MySQL, foi adquirida pela
Sun Microsystems por US$ 1 bilhão. Quando ele foi projetado atendia aplicações de pequeno
a médio porte (aproximadamente 100 milhões de registros por tabela, tendo como base o
tamanho de 100mb por tabela), mas com seu desenvolvimento ele atende muito além disso!
O MySQL foi originalmente desenvolvido pela empresa sueca TCX, que necessitava de um
servidor de banco de dados que operasse com grandes escalas de dados rapidamente sem
exigir caríssimas plataformas de hardware. No início eles utilizavam o mSQL, mas depois de
alguns testes chegaram à conclusão que o mSQL não era rápido nem flexível o suficiente para
as necessidades existentes.
Utilização: Permite que o usuário faça uso do software para qualquer finalidade.
Distribuição: Livre distribuição do software entre quaisquer pessoas.
Didática: Permite que seu funcionamento seja estudado através de seu código-fonte
6
3.3. Características
De acordo com a plataforma em que seja usado, suas tabelas poderão armazenar grandes
volumes de dados, o limite ficará por conta somente do tamanho máximo de arquivos que a
plataforma que estiver sendo utilizada puder manipular. Já no caso de tabelas do tipo InooDB,
onde o armazenamento pode ser realizado em um ou vários arquivos separados, fica possível
armazenar volumes de dados equivalentes a TB (Terabytes) de tamanho. E referente a
expressões SQL, o MySQL suporta execuções de script SQL com até 61 milhões de tabelas
“joins”. E no quesito de velocidade de execução, o MySQL pode ser considerado um dos mais
velozes, isso é, se não podemos dizer que é o mais veloz.
O MySQL, por ser um banco de dados poderoso, tem a capacidade de realizar bilhões de
consultas em um único dia em um site e também fazer o processamento de milhões de
transações por minuto.
7
SQL: Como já sabemos, o MySQL trabalha com a linguagem SQL (Structured Query
Language, ou traduzindo, Linguagem de Consulta Estruturada), sendo extremamente rápido.
E isso foi possível devido a SQL ter sido implementada no MySQL através de códigos e
funções altamente customizadas pelos seus desenvolvedores. Isso gerou a grande vantagem de
velocidade no processamento dos códigos SQL, porém, ao mesmo tempo trouxe um ponto
negativo, sendo ele o fato de que com essa customização, nem todos os padrões das versões
mais atuais do SQL tenham sido trazidos para o MySQL, porque poderiam prejudicar
consideravelmente a velocidade do banco de dados. Entretanto, essa desvantagem não
influencia em nada na aplicação.
4. MODELAGEM DE DADOS
Sistemas Gerenciadores de Bancos de Dados SGBD, Sistema Gerenciador de Banco de Dados
(ou DBMS, Database Management System) é um sistema utilizado para gerenciar dados que
estão armazenados de forma organizada, permitindo incluir, alterar, excluir, consultar e
manipular dados. O tratamento da informação em um banco de dados oferece vantagens:
A disponibilidade dos dados para exclusão, consulta ou alteração pode ser autorizada
pelo Administrador de Banco de Dados (DBA, Data Base Administrador) no projeto,
antes das aplicações serem desenvolvidas, permitindo com isso a segurança e a
privacidade dos dados;
A padronização é reforçada. Os tipos de dados mais importantes são atributos que têm
seus nomes e tamanhos definidos já no projeto do banco de dados.
Os dados dizem respeito a um ambiente, empresa ou corporação e estão disponíveis
independentemente da aplicação.
Um projeto de banco de dados coerente reduz ou elimina a redundância, favorecendo a
manutenção da integridade dos dados. A arquitetura de um SGBD é estabelecida a
partir de um modelo de dados, que é uma forma de representação que resulta de uma
abstração. O projeto de um banco de dados envolve o desenvolvimento de um modelo
formal relativo à estruturação dos dados de todo um empreendimento. Os SGBDs
existentes no mercado geralmente adotam o modelo hierárquico, de rede ou relacional.
Dentre os três, o mais utilizado é o modelo de rede. O objetivo de todos os modelos de
dados é modelar a realidade tão proximamente quanto possível.
8
A navegação dentro de um banco de dados hierárquico é feita com comandos do tipo “acessar
primeiro” e “acessar próximo” (get first e get next), admitindo cláusulas e predicados para
pesquisa.
A teoria sobre o modelo relacional apresenta dois formalismos para a manipulação de banco
de dados: a álgebra relacional e o cálculo relacional, que serviram de base param a construção
de todas as ferramentas relacionais hoje disponíveis. A álgebra relacional é formada por
9
operações cujos nomes vêm da teoria de conjuntos, e outras operações relacionais que foram
especialmente criadas:
O cálculo relacional tem poder equivalente à álgebra e dá como resultado relações (tabelas),
da mesma forma. A diferença está na forma de expressão: a álgebra especifica as operações a
fazer sobre as tabelas, enquanto o cálculo relacional apenas nomeia a informação desejada e
um certo predicado ou critério para os valores a serem pesquisados, sem dizer quais as
operações a fazer. Dentre os sistemas relacionais, os System/R e o Ingres foram os primeiros a
serem comercializados. Dentre os sistemas relacionais atuais mais utilizados no brasil, temos:
MS-Access
DB2
Informix
Oracle
Progress
Sybase
TSGDB
Unify
Zim
MS-SQL Server
Postgresql
Mysql
10
Interbase / Firebird
Nesse estágio, o projetista deve examinar os dados do ponto de vista da empresa como um
todo, e não com a visão de programador de aplicação específica. Por exemplo, vamos chamar
a descrição da visão de uma empresa quanto aos dados de “esquema da empresa”. O esquema
da empresa deve ser uma representação pura do mundo real e deve também ser independente
de consideração sobre armazenamento e eficiência. O projetista primeiro projeta o esquema
da empresa e então o traduz a um esquema do usuário para seu sistema de banco de dados.
Etapas no projeto lógico de banco de dados segundo o modelo E-R. O método E-R consiste
nas seguintes etapas:
4.3. Entidades
Entidade é um conjunto de objetos de mesma natureza, com as mesmas características ou
atributos, abrigados sob um nome genérico. Em um banco de dados de uma universidade, por
exemplo, são entidade: Aluno, Professor, Curso, Departamento, Disciplina, etc., pois cada
uma destas entidades representa uma coleção de objetos com os mesmos tipos de atributos.
Chamamos ocorrência de uma entidade à um objeto que pertence entidade. No exemplo
acima, Ciências da Computação poderia ser uma ocorrência da entidade Curso e Bancos de
Dados uma ocorrência de Disciplina. Cada ocorrência de entidade apresentar-se-á como uma
coleção de elementos de dados ou atributos, por exemplo:
Entidade Atributos
ALUNO Nome Número de matrícula Endereço
PROFESSOR Nome Código Data de admissão Salário
12
Atributo determinante é aquele que identifica uma ocorrência da entidade. Por exemplo:
Número de matrícula, na entidade ALUNO. Observe, no exemplo acima, que os atributos
Nome aparecem tanto para a entidade ALUNO quanto para PROFESSOR, mas são coisas
diferentes, com significados diferentes.
Portanto, conceber uma entidade é uma tarefa cuja decisão é relativa, depende do âmbito do
projeto. Uma boa garantia de que uma entidade foi bem projetada é ter a capacidade de lhe
atribuir um nome que represente o que é cada uma de suas ocorrências e identificar o atributo
determinante que lhe confere identidade.
4.4. Atributos
Atributos é uma função que mapeia um conjunto de entidades num domínio e identifica,
qualifica e descreve esse conjunto de entidades. Uma entidade é representada por um conjunto
de atributos. Ou seja são propriedades (características) que identificam as entidades. Uma
entidade é representada por um conjunto de atributos. Os atributos podem ser simples,
composto, determinante.
Nome, endereço, telefone e cidade, por exemplo, são atributos da entidade Clientes. Enquanto
salário, cargo e departamento são atributos da entidade funcionários.
Simples
Composto,
13
Multivalorado e
Determinante
Em uma entidade cliente, por exemplo, poderemos considerar como atributo simples: nome,
sexo, data de nascimento, dentre outros.
Exemplo: Telefone. Uma pessoa poderá ter mais de um número de telefone. É indicado
colocando-se um asterisco precedendo o nome do atributo. Os atributos multivalorado serão
tratados com mais detalhes na normalização de dados.
Este tipo de atributo é aceito conceitualmente, mas ele pode ser um problema no banco de
dados. Há duas possibilidades para tratar com ele. A primeira é mantê-lo como multivalorado
e permitir que mais de um dado seja inserido no mesmo campo, como por exemplo: dois
números de telefone. A segunda alternativa é aplicar o processo de normalização de dados e
14
transformá-lo em uma entidade a parte ou uma tabela no banco de dados e relacioná-la com a
tabela principal.
A primeira alternativa é mais simples, mas teríamos o problema da consulta de dados, caso
precisássemos fazer uma consulta pelo número de um dos telefones apenas. A segunda é mais
trabalhosa, porém é mais eficaz.
Devemos considerar que toda tabela no banco de dados precisa ter um atributo determinante,
que também chamamos de chave primária. Desta forma, se a entidade não oferecer por padrão
uma sugestão de atributo determinante, temos de criá-lo. Este é um princípio bastante básico
da análise e modelagem de dados.
4.5. Chaves
Existem vários tipos de chaves em um modelo lógico. Vamos analisar chave primaria e chave
secundaria.
4.5.1. Chave primária
Não pode haver duas ocorrências de uma mesma entidade com o mesmo conteúdo na
chave primária;
A chave primária não pode ser composta por atributo opcional , ou seja , atributo que
aceite nulo.
Os atributos identificadores devem ser o conjunto mínimo que pode identificar cada
instância de uma entidade.
Não devem ser usadas chaves externas. (atributos sobre os quais você não tem
controle. Ex: cpf)
Esse tipo de atributo não permite exclusão, modificação ou inserção de dados em tabelas que
estejam dependentes umas das outras ("foreign key"), o que requer modificadores especiais,
como cascada, por exemplo. Isso também exige uma maior atenção do administrador da base
de dados, quanto à própria manipulação dos dados.
As chaves secundariam são definidas no padrão iso do sql, através de uma restrição foreign
key. A sintaxe para adicionar uma tal restrição a uma tabela existente é definido no sql: 2003,
como mostrado abaixo. Omitindo a lista de colunas na cláusula de referências implica que a
chave estrangeira deve referenciar a chave primária da tabela referenciada.
Um-para-um
Um-para-muitos
Muitos-para-muitos
Exemplo:
Exemplo:
O relacionamento um-para-muitos é o tipo mais comum e que deve ser encontrado na maioria
das tabelas que estão relacionadas. O que justifica esse tipo de relacionamento é o fato de que
normalmente uma entidade tende a ser replicada muitas vezes em outra, como acontece por
exemplo quando um produto é vendido N vezes, um cliente faz N compras, uma sala tem N
alunos e assim por diante.
Exemplo:
Deixa eu explicar: ele pode até ser implementado na prática, mas para isso é preciso criar uma
terceira tabela que permita esse relacionamento e aí o que vai acontecer na verdade é que você
vai ter dois relacionamentos um para muitos para poder representar o muito para muitos.
Deixa dar um exemplo real para ficar mais fácil de entender.
4.6.2. Relacionamentos
Relacionamento é uma associação entre entidades. Pode haver relacionamento envolvendo
uma (Auto relacionamento) ou mais entidades. Nos diagramas ER, estes últimos são
representados por losangos com o nome rotulado, como mostra a figura 6:
4.6.4.2. Agregação
Uma limitação do modelo ER é que os relacionamentos acontecer entre entidades. Acontece,
porém, que às vezes é preciso construir um relacionamento envolvendo algum relacionamento
na associação. Aí precisamos utilizar um novo conceito de agregação. Vejamos o exemplo de
um projeto de banco de dados em evolução, conforme a figura 9, associamos Cliente a
Vendedor através do relacionamento venda. Uma venda, no entanto, costuma estar associada
a vários produtos. Seria necessário, então, associar a venda, através de um relacionamento
Item de venda, uma série de ocorrências da entidade Produto.
4.6.4.3. Generalização/Especialização
Relacionamentos de generalização-especialização ocorrem entre entidades com atributos
globais e entidades especializadas a partir destas, com atributos específicos. Este
relacionamento, também conhecido como “is-a” (“é-um”), e pode ser representado na notação
mostrada na figura 13. Na mesma figura, apresentamos a maneira de representar este tipo de
associação usando
Como mencionado anteriormente, temos conjuntos de regras para determinar com qual forma
normal o banco é compatível. Primeiramente, precisamos verificar se encontramos
compatibilidade com a primeira forma normal. Caso esteja tudo conforme, analisamos se a
segunda forma normal se encaixa e assim sucessivamente.
20
É importante lembrar que para uma relação atender as exigências de uma forma normal, se faz
necessário que esta obedeça as regras da forma normal anterior. A primeira forma normal é
exceção pois não existe uma forma normal anterior a primeira.
4.7.1. Normalização
Uma relação está na primeira forma normal quando todos os atributos contêm apenas um valor
correspondente, singular e não existem grupos de atributos repetidos, ou seja, não admite
repetições ou campos que tenham mais que um valor.
É dito que uma tabela está na segunda forma normal se ela atende a todos os requisitos da
primeira forma normal e se os registros na tabela, que não são chaves, dependam da chave
primária em sua totalidade e não apenas parte dela. A segunda forma normal trabalha com
essas irregularidades e previne que haja redundância no banco de dados.
Para isso, devemos localizar os valores que dependem parcialmente da chave primária e criar
tabelas separadas para conjuntos de valores que se aplicam a vários registros e relacionar estas
tabelas com uma chave estrangeira.
4.7.2.4. Terceira Forma Normal
Como procedimento principal para configurar uma entidade que atenda as regras da terceira
forma normal, nós identificamos os campos que não dependem da chave primária e dependem
de um outro campo não chave. Após, separamos eles para criar uma outra tabela distinta, se
necessário.
4.7.2.5. Quarta Forma Normal
Uma entidade está na quarta forma normal quando ela estiver na terceira forma normal e não
existir dependências multivaloradas entre seus atributos, ou seja, campos que se repetem em
relação a chave primária, gerando redundância nas tuplas da entidade. Devemos fragmentar
essa relação com o objetivo de não termos mais essas dependências funcionais do gênero.
Em outras palavras, quando houver repetição de dois ou mais atributos não chave, gerando
uma redundância desnecessária na tabela, dividimos essa tabela em dois ou mais subgrupos
evitando assim o problema da redundância. [Silva 2010]
23
5. Conclusão
Bancos de Dados (BD) é uma área da computação que apresentou grande desenvolvimento nas
décadas de 70 e 80 e contínua em ritmo acelerado de pesquisa e desenvolvimento. Com as
bases teóricas da tecnologia relacional lançadas na década de 70 e o lançamento comercial de
muitos Sistemas Gerenciadores de Banco de Dados (SGBDs) relacionais na década de 80, o
gerenciamento de grandes volumes de dados pode ser feito cada vez mais de forma segura,
eficiente e barata.
Dessa forma, a pessoa que vai analisar a documentação de uma modelagem normalizada
consegue abstrair com mais clareza, pois uma vez conhecendo os padrões, a compreensão é
facilitada e agiliza todo o trabalho. Como desvantagem podemos citar o aumento do número de
tabelas. Bancos devidamente construídos, ou seja, na terceira forma normal, apresentam um
número maior de tabelas em comparação aos bancos não normalizados. Assim, as consultas
em bancos com mais tabelas requerem uma complexidade maior na elaboração do SQL,
fazendo necessário o uso dos Joins e cláusulas para elaborarmos a consulta adequadamente.
6. Bibliografia