Teoria de banco de dados

22
1 - CONCEITOS GERAIS DE BANCO DE DADOS 1.1 - Conceitos Banco de Dados - Representa o arquivo físico de dados, armazenado em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para consulta e atualização pelo usuário. Tabelas Lógicas - Representam as estruturas de armazenamento de dados (arquivos) dos sistemas. S.G.D.B. (Sistema Gerenciador de Banco de Dados) - É o software responsável pelo gerenciamento (armazenamento e recuperação) dos dados no Banco de Dados. Dado - É o valor do campo quando é armazenado no Banco de Dados. Ex. O valor do campo "nome do cliente" para quem está fazendo a entrada de dados. Conteúdo do campo - É o valor do campo armazenado no Banco de Dados. Ex. O valor do campo "nome do cliente" sem estar, momentaneamente, sendo utilizado. Informação - É o valor que este campo representa para as atividades da empresa. Ex. Resposta a uma consulta. Qual os nomes do clientes localizados no Rio de Janeiro? Modelo de Banco de Dados: Modelo Relacional, Modelo Hierárquico e Modelo em Rede. Representa a estrutura física no qual o armazenamento dos dados foram projetados. O modelo identifica a estrutura interna de recuperação e armazenamento dos dados no qual o SGBD foi projetado. 1.2 - Representação Física do Banco de Dados 1.3 - Visões do Banco de Dados a - Visão Interna - É aquela vista pelo responsável pela manutenção e desenvolvimento do SGBD. Existe a preocupação com a forma de recuperação e manipulação dos dados dentro do Banco de Dados. TABELAS LÓGICAS INFORMAÇÕES PARA O USUÁRIO BANCO DE DADOS

Transcript of Teoria de banco de dados

  • 1. 1- CONCEITOSGERAISDE BANCO DE DADOS 1.1 - Conceitos 5Banco de Dados - Representa o arquivo fsico de dados,armazenado em dispositivos perifricos, onde estoarmazenados os dados de diversos sistemas, para consulta eatualizao pelo usurio. Tabelas Lgicas - Representam as estruturas de armazenamento de10dados (arquivos) dos sistemas. S.G.D.B. (Sistema Gerenciador de Banco de Dados) - o software responsvel pelo gerenciamento(armazenamento e recuperao) dos dados no Banco de Dados. Dado - o valor do campo quando armazenado no Banco de Dados. Ex. O valor do campo "nome do cliente" para quem est fazendo a entrada de dados.15 Contedo do campo - o valor do campo armazenado no Banco de Dados. Ex. O valor do campo "nome docliente" sem estar, momentaneamente, sendo utilizado. Informao - o valor que este campo representa para as atividades da empresa. Ex. Resposta a uma consulta.Qual os nomes do clientes localizados no Rio de Janeiro? Modelo de Banco de Dados: Modelo Relacional, Modelo Hierrquico e Modelo em Rede. Representa a20 estrutura fsica no qual o armazenamento dos dados foram projetados. O modelo identifica a estrutura interna de recuperao e armazenamento dos dados no qual o SGBD foi projetado. 1.2 - Representao Fsica do Banco de Dados TABELAS25 LGICAS30 INFORMAES PARA O USURIO35 BANCO DE DADOS40 (Arquivo Fsico) 1.3 - Vises do Banco de Dados45 a - Viso Interna - aquela vista pelo responsvel pela manuteno e desenvolvimento do SGBD. Existe a preocupao com a forma de recuperao e manipulao dos dados dentro do Banco de Dados. b - Viso Conceitual - aquela vista pelo analista de desenvolvimento e pelo administrador das bases dedados. Existe a preocupao na definio de normas e procedimentos para manipulao dos dados, paragarantir a sua segurana e confiabilidade, o desenvolvimento de sistemas e programas aplicativos e a

2. definio no banco de dados de novos arquivos e campos. Na viso conceitual, existem 2 (duas)linguagens de operao que so: a) Linguagem de definio dos dados (DDL) - Linguagem que define as aplicaes, arquivos e campos queiro compor o banco de dados (comandos de criao e atualizao da estrutura dos campos dos arquivos). 5 b) Linguagem de manipulao dos dados (DML) - Linguagem que define os comandos de manipulao eoperao dos dados (comandos de consulta e atualizao dos dados dos arquivos). c - Viso Externa - aquela vista pelo usurio que opera os sistemas aplicativos, atravs de interfacesdesenvolvidas pelo analista (programas), buscando o atendimento de suas necessidades.10UTILIZAO DAS APLICAES DESENVOLVIDAS VISO EXTERNA15DESENVOLVIMENTO DE APLICAES20UTILIZANDO RECURSOS DO S.G.B.D. VISO CONCEITUAL25VISO INTERNADESENVOLVIMENTO DO S.G.B.D.30 1.4 - Vantagens do Banco de Dados em relao arquitetura tradicional 1.4.1 - Definies35 Sistema Tradicional - So aqueles em que os dados do sistema esto armazenados fisicamente separados umdo outro. O acesso feito pelos programas de aplicao, associando o nome externo dos arquivos edefinindo todo o registro independente da utilizao dos campos. Sistema de Banco de Dados - aquele em que os dados so definidos para o S.G.B.D., atravs da DDL(linguagem de definio de dados). Fisicamente esto armazenados em um nico local, sendo o acesso40realizado apenas atravs do S.G.B.D. Nos programas de aplicao, necessrio apenas definir os camposque sero utilizados pelo programa. 1.4.2 - Vantagens do Banco de Dados 1 - Reduo ou Eliminao de Redundncias - Possibilita a eliminao de dados privativos de cada sistema.45 Os dados, que eventualmente so comuns a mais de um sistema, so compartilhados por eles, permitindo o acesso a uma nica informao sendo consultada por vrios sistemas. 2 - Eliminao de Inconsistncias - Atravs do armazenamento da informao em um nico local com acesso descentralizado e, sendo compartilhada vrios sistemas, os usurios estaro utilizando uma informao confivel. A inconsistncia ocorre quando um mesmo campo tem valores diferentes em sistemas50 diferentes. Exemplo, o estado civil de uma pessoa solteiro em um sistema e casado em outro. Isto ocorre porque esta pessoa atualizou o campo em um sistema e no o atualizou em outro. Quando o dado armazenado em um nico local e compartilhado pelos sistemas, este problema no ocorre. 3. 3 - Compartilhamento dos Dados - Permite a utilizao simultnea e segura de um dado, por mais de umaaplicao ou usurio, independente da operao que esteja sendo realizada. Deve ser observada apenas oprocesso de atualizao concorrente, para no gerar erros de processamento (atualizar simultaneamente omesmo campo do mesmo registro). Os aplicativos so por natureza multiusurio. 5 4 - Restries de Segurana - Define para cada usurio o nvel de acesso a ele concedido (leitura, leitura egravao ou sem acesso) ao arquivo e/ou campo. Este recurso impede que pessoas no autorizadasutilizem ou atualizem um determinado arquivo ou campo. 5 - Padronizao dos Dados - Permite que os campos armazenados na base de dados sejam padronizadossegundo um determinado formato de armazenamento (padronizao de tabela, contedo de comps, etc) e10ao nome de variveis seguindo critrios padres preestabelecido pela empresa. Ex. Para o campo "Sexo"somente ser permitido armazenamento dos contedos "M" ou "F". 6 - Independncia dos Dados - Representa a forma fsica de armazenamento dos dados no Banco de Dados e a recuperao das informaes pelos programas de aplicao. Esta recuperao dever ser totalmente independente da maneira com que os dados esto fisicamente armazenados. Quando um programa retira15 ou inclui dados o SGBD compacta-os para que haja um menor consumo de espao no disco. Este conhecimento do formato de armazenamento do campo totalmente transparente para o usurio. A independncia dos dados permite os seguintes recursos: a - Os programas de aplicao definem apenas os campos que sero utilizados independente da estrutura interna dos arquivos20 b - Quando h incluso de novos campos no arquivo, ser feita manuteno apenas nos programas que utilizam esses campos, no sendo necessrio mexer nos demais programas. Obs.: Nos sistemas tradicionais este tipo de operao requer a alterao no lay-out de todos os programas do sistema que utilizam o arquivo. 7 - Manuteno da Integridade - Consiste em impedir que um determinado cdigo ou chave em uma tabelano tenha correspondncia em outra tabela. Ex. Um cdigo de uma determinada disciplina na tabela25Histrico Escolar sem a sua descrio na tabela Disciplina. 2 - NORMALIZAO DE DADOS 2.1 - Definio Consiste em definir o formato lgico adequado para as estruturas de dados identificados no projeto lgico do30sistema, com o objetivo de minimizar o espao utilizado pelos dados e garantir a integridade econfiabilidade das informaes. A normalizao feita, atravs da anlise dos dados que compem as estruturas utilizando o conceito chamado"Formas Normais (FN)". As FN so conjuntos de restries nos quais os dados devem satisfaz-las.Exemplo, pode-se dizer que a estrutura est na primeira forma normal (1FN), se os dados que a compem35satisfizerem as restries definidas para esta etapa. A normalizao completa dos dados feita, seguindo as restries das quatro formas normais existentes, sendoque a passagem de uma FN para outra feita tendo como base o resultado obtido na etapa anterior, ouseja, na FN anterior. Para realizar a normalizao dos dados, primordial que seja definido um campo chave para a estrutura, campo40 este que permite ir identificar os demais campos da estrutura. Formas Normais existentes: 2.2 - Primeira Forma Normal (1FN) Consiste em retirar da estrutura os elementos repetitivos, ou seja, aqueles dados que podem compor umaestrutura de vetor. Podemos afirma que uma estrutura est normalizada na 1FN, se no possuir elementosrepetitivos. Exemplo:45 Estrutura original: Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cod. do Cliente, Nome do cliente, Endereo docliente, CGC do cliente, Relao das mercadorias vendidas (onde para cada mercadoria temos: Cdigo daMercadoria, Descrio da Mercadoria, Quantidade vendida, Preo de venda e Total da venda destamercadoria) e Total Geral da Nota) 4. Analisando a estrutura acima, observamos que existem vrias mercadorias em uma nica Nota Fiscal, sendoportanto elementos repetitivos que devero ser retirados. Estrutura na primeira forma normal (1FN): Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente, Nome Cliente, Endereo do 5cliente, CGC do cliente e Total Geral da Nota) Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Descrio da Mercadoria, Quantidade vendida, Preo devenda e Total da venda desta mercadoria) Obs. Os campos sublinhados identificam as chaves das estruturas. Como resultado desta etapa ocorre um desdobramento dos dados em duas estruturas, a saber:10 - Primeira estrutura (Arquivo de Notas Fiscais): Dados que compem a estrutura original, excluindo oselementos repetitivos. - Segundo estrutura (Arquivo de Vendas): Dados que compem os elementos repetitivos da estrutura original,tendo como chave o campo chave da estrutura original (Num. NF) e o campo chave da estrutura derepetio (Cdigo da Mercadoria).15 2.3 - Segunda Forma Normal (2FN) Consiste em retirar das estruturas que possuem chaves compostas (campo chave sendo formado por mais de umcampo), os elementos que so funcionalmente dependente de parte da chave. Podemos afirmar que umaestrutura est na 2FN, se ela estiver na 1FN e no possuir campos que so funcionalmente dependente departe da chave. Exemplo:20 Estrutura na primeira forma normal (1FN): Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente, Nome do cliente, Endereo docliente, CGC do cliente e Total Geral da Nota) Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Descrio da Mercadoria, Quantidade vendida, Preo de25venda e Total da venda desta mercadoria) Estrutura na segunda forma normal (2FN): Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente, Nome do cliente, Endereo docliente, CGC do cliente e Total Geral da Nota)30 Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Quantidade vendida e Total da venda desta mercadoria) Arquivo de Mercadorias (Cdigo da Mercadoria, Descrio da Mercadoria, Preo de venda) Como resultado desta etapa, houve um desdobramento do arquivo de Vendas (o arquivo de Notas Fiscais, no foi alterado, por no possuir chave composta) em duas estruturas a saber: - Primeira estrutura (Arquivo de Vendas): Contm os elementos originais, sendo excludos os dados que so35 dependentes apenas do campo Cdigo da Mercadoria. - Segundo estrutura (Arquivo de Mercadorias): Contm os elementos que so identificados apenas pelo Cdigo da Mercadoria, ou seja, independentemente da Nota Fiscal, a descrio e o preo de venda sero constantes. 2.4 - Terceira Forma Normal (3FN)40 Consiste em retirar das estruturas os campos que so funcionalmente dependentes de outros campos que noso chaves. Podemos afirmar que uma estrutura est na 3FN, se ela estiver na 2FN e no possuir camposdependentes de outros campos no chaves. Exemplo: Estrutura na segunda forma normal (2FN):45 Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente, Nome do cliente, Endereo docliente, CGC do cliente e Total Geral da Nota) 5. Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Quantidade vendida e Total da venda desta mercadoria) Arquivo de Mercadorias (Cdigo da Mercadoria, Descrio da Mercadoria, Preo de venda) Estrutura na terceira forma normal (3FN): 5 Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente e Total Geral da Nota) Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Quantidade vendida e Total da venda desta mercadoria) Arquivo de Mercadorias (Cdigo da Mercadoria, Descrio da Mercadoria, Preo de venda) Arquivo de Clientes (Cdigo do Cliente, Nome do cliente, Endereo do cliente e CGC do cliente) Como resultado desta etapa, houve um desdobramento do arquivo de Notas Fiscais, por ser o nico que possua10 campos que no eram dependentes da chave principal (Num. NF), uma vez que independente da Nota Fiscal, o Nome, Endereo e CGC do cliente so inalterados. Este procedimento permite evitar inconsistncia nos dados dos arquivos e economizar espao por eliminar o armazenamento freqente e repetidas vezes destes dados. A cada nota fiscal comprada pelo cliente, haver o armazenamento destes dados e poder ocorrer divergncia entre eles.15 As estruturas alteradas foram pelos motivos, a saber: - Primeira estrutura (Arquivo de Notas Fiscais): Contm os elementos originais, sendo excludo os dados que so dependentes apenas do campo Cdigo do Cliente (informaes referentes ao cliente). - Segundo estrutura (Arquivo de Clientes): Contm os elementos que so identificados apenas pelo Cdigo doCliente, ou seja, independente da Nota Fiscal, o Nome, Endereo e CGC dos clientes sero constantes.20 Aps a normalizao, as estruturas dos dados esto projetadas para eliminar as inconsistncias e redundnciasdos dados, eliminando desta forma qualquer problema de atualizao e operacionalizao do sistema. Averso final dos dados poder sofrer alguma alterao, para atender as necessidades especficas dosistema, a critrio do analista de desenvolvimento durante o projeto fsico do sistema. 3 - MODELO DE ENTIDADE E RELACIONAMENTO (MER)25 3.1 - Definio Consiste em mapear o mundo real do sistema em um modelo grfico que ir representar o modelo e orelacionamento existente entre os dados. Entidade - Identifica o objeto de interesse do sistema e tem "vida" prpria, ou seja, a representao abstrata deum objeto do mundo real sobre o qual desejamos guardar informaes.30Exemplo: Clientes, Fornecedores, Alunos, Funcionrios, Departamentos, etc.No so entidades:- Entidade com apenas 1 elemento;- Operaes do sistema;- Sadas do sistema;35- Pessoas que realizam trabalhos (usurios do sistema);- Cargos de direo Instncia de Entidade - So os elementos da entidade.Exemplo: Cliente 10, Funcionrio Joo, Aluno Pedro, etc. Atributo - Informaes que desejamos guardar sobre a instncia de entidade.40Exemplo: Nome do aluno, Nmero da turma, Endereo do fornecedor, Sexo do funcionrio, etc. Domnio do Atributo - Universo de valores que um atributo pode armazenar.Exemplo: Conjunto de valores do atributo Sexo do funcionrio: M ou F; 6. Conjunto de valores do atributo Nome do aluno: 40 caracteres alfanumrico.Conjunto de valores do atributo salrio: inteiro maior que 5000 7. 3.2 - Representao Grfica - Entidade 5 - Relacionamento1015 - Atributo20 Relacionamento - Representa a associao entre os elementos do conjunto de um entidade com outra entidade. Exemplo:25O Joo est matriculado na disciplina de Banco de Dadosonde:- Joo - Elemento do conjunto de valores do atributo Nome do aluno da entidade Aluno;30 - Banco de Dados - Elemento do conjunto de valores do atributo Nome da disciplina da entidadeDisciplina;- matriculado - Ligao existente entre um aluno e uma disciplina.35ALUNO DISCIPLINA40MATRICULADO45 3.3 - Cardinalidade de RelacionamentosRepresenta a freqncia com que existe o relacionamento. Exemplo:50Relacionamento 1:1 - O Joo casado com a Maria. 8. onde: - Joo - Elemento do conjunto de valores do atributo Nome da entidade Homem. - Maria - Elemento do conjunto de valores do atributo Nome da entidade Mulher. 5 - casado - Ligao entre um homem e uma mulher, sendo que um homem pode ser casado com uma eapenas uma mulher, assim como uma mulher pode ser casada com um e apenas um homem.10HOMEM MULHER 1 115 CASAMENTO20 Relacionamento 1:N ou N:1 - O Pedro trabalha no Departamento Pessoal.onde:25 - Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionrio. - Depart. Pessoal - Elemento do conjunto de valores do atributo Nome do departamento da entidadeDepartamento. - trabalha - Ligao entre um Funcionrio e um Departamento, onde um funcionrio pode trabalhar emum e somente um departamento e um departamento pode ter vrios funcionrios.30 1 N DEPARTAMENTO35 EMPREGADOS LOTAO40Relacionamento N : M - O Antnio est matriculado na disciplina Banco de Dados.45onde: - Antnio - Elemento do conjunto de valores do atributo Nome da entidade Aluno. - Banco de Dados - Elemento do conjunto de valores do atributo Nome da Disciplina da entidadeDisciplina.50 - matriculado - Ligao existente entre um aluno e uma disciplina, onde um aluno pode estarmatriculado em vrias disciplinas e cada disciplina pode ter vrios alunos matriculados. M 9. N DISCIPLINA 5ALUNOSMATRICULADO.10 3.4 - Atributos do Relacionamento - Quando um determinado relacionamento possui atributos, tambm conhecido como relacionamento valorado.Esta situao ocorre apenas em relacionamento N : M.15 Ex. Pedro trabalha no projeto Alfa 30 horas.- Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionrio.- Alfa - Elemento do conjunto de valores do atributo Nome do Projeto da entidade Projeto.- trabalha - Ligao existente entre um funcionrio e um projeto. Neste caso, este funcionrio trabalha 30horas neste projeto, porm este mesmo funcionrio poder trabalhar outro nmero de horas em outro20projeto, assim como outro funcionrio trabalha outro nmero de horas no mesmo projeto Alfa. Podemosconcluir que 30 horas o atributo que pertence ao Pedro no projeto Alfa. M N25PROJETOFUNCIONRIO30 TRABALHA35 HORAS 3.5 - Grau do Relacionamento Indica o nmero de entidade que se relacionam.40 3.5.1 - Relacionamento Binrio Quando existe o relacionamento entre apenas duas entidades. Ex. Um fornecedor comercializa materiais que so utilizados em diversos projetos.45FORNECEDOR MATERIAIS50 M N COMERCIALIZA55 10. M 5 PROJETOS N UTILIZAM10 3.5.2 - Relacionamento Ternrio Quando existe o relacionamento entre trs entidades. Ex. Um fornecedor comercializa materiais que so utilizados em projetos especficos.15MATERIAISFORNECEDORES20 1 N25 UTILIZADO30 N35 PROJETOS40 11. Exemplos de Relacionamento:- O Professor Alberto leciona Estrutura de Dados e o aluno Pedro cursa Linguagem de ProgramaoDISCIPLINAPROFESSOR 5 LECIONA M N10N15ALUNO M20CURSA25 - Pedro comprou 1 Kg. de banana do vendedor ManoelPRODUTOS30 CLIENTES N35 1VENDA40 145 VENDEDORES50 Obs. Para que haja uma venda, tem que haver um cliente, um produto e um vendedor. 4 - LINGUAGEM SQL A linguagem SQL (Structured Query Language) representa um conjunto de comandos responsveis pela definio das tabelas, comandos e atualizao dos dados em um S.G.B.D.55Os comandos existentes nesta linguagem so subdivididos em dois grupos: - Comandos DDL (Data Definition Language) - Conjunto de comandos responsveis pela criao, alterao e deleo da estrutura das tabelas e ndices de um sistema. 12. - Comandos DML (Data Manipulation Language) - Conjunto de comandos responsveis pela consulta e atualizao dos dados armazenados em um banco de dados. 4.1 - Comandos DDL 4.1.1 - Create Table 5Objetivo:Criar a estrutura de uma tabela(arquivo) definido as colunas (campos) e as chaves primrias e estrangeiras existentes.Sintaxe:CREATE TABLE 10( , [NOT NULL] [NOT NULL WITH DEFAULT] )PRIMARY KEY (nome-coluna-chave)FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES(nome-tabela-pai) ON DELETE [RESTRICT]15[CASCADE][SET NULL]onde:a) nome-tabela - Representa o nome da tabela que ser criada.b) nome-coluna - Representa o nome da coluna que ser criada. A definio das colunas de uma tabela 20 feita relacionando-as uma aps a outra.c) tipo-do-dado - Clusula que define o tipo e tamanho dos campos definidos para a tabela. Os tipos de dados mais comuns sero definidos mais frente.d) NOT NULL - Exige o preenchimento do campo, ou seja, no momento da incluso obrigatrio que possua um contedo.25e) NOT NULL WITH DEFAULT - Preenche o campo com valores pr-definidos, de acordo com o tipo do campo, caso no seja especificado o seu contedo no momento da incluso do registro. Os valores pr-definidos so:e.1) Campos numricos - Valor zero.e.2 ) Campos alfanumricos - Caracter branco.30e.3) Campo formato Date - Data corrente.e.4) Campo formato Time - Horrio no momento da operao. f) PRIMARY KEY (nome-coluna-chave) - Definir para o banco de dados a coluna que ser a chave primria da tabela. Caso ela tenha mais de um coluna como chave, elas devero ser relacionadas entre os parnteses.35 g) FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES (nome-tabela-pai) - Definir para o banco de dados as colunas que so chaves estrangeiras, ou seja, os campos que so chaves primrias de outras tabelas. Na opo REFERENCES deve ser especificado a tabela na qual a coluna a chave primria. h) ON DELETE - Esta opo especifica os procedimentos que devem ser feitos pelo SGBD quando houver uma excluso de um registro na tabela pai quando existe um registro correspondente nas tabelas filhas.40 As opes disponveis so: h.1) RESTRICT - Opo default. Esta opo no permite a excluso na tabela pai de um registro cuja chave primria exista em alguma tabela filha. h.2) CASCADE - Esta opo realiza a excluso em todas as tabelas filhas que possua o valor da chave que ser excluda na tabela pai.45 h.3) SET NULL - Esta opo atribui o valor NULO nas colunas das tabelas filhas que contenha o valor da chave que ser excluda na tabela pai.Tipos de dados mais comuns: 13. 1) Numricos:- Smallint - Armazena valores numricos, em dois bytes binrios, compreendidos entre o intervalo -32768 a +32767.- Integer - Armazena valores numricos, em quatro bytes binrios, compreendidos entre o intervalo 5 -2147483648 a +2147483647- Decimal(n,m) - Armazena valores numricos com no mximo 15 dgitos. Nesta opo deve ser definida a quantidade de dgitos inteiros (n) e casas decimais (m) existentes no campo. 2) Alfanumricos: - Varchar (n) - Definir um campo alfanumrico de at n caracteres, onde n deve ser menor ou igual a 25410 caracteres.- Char (n) - Definir um campo alfanumrico de n caracteres, onde n deve ser menor ou igual a 254 caracteres.- Long Varchar - Definir um campo alfanumricos de comprimento maior que 254 caracteres.3) Campo Date - Definir um campo que ir armazenar datas.154) Campo Time - Definir um campo que ir armazenamento de horrio. 4.1.2 - Alter TableObjetivo:Alterar a estrutura de uma tabela(arquivo) acrescentando, alterando, retirando e alterando nomes,20 formatos das colunas e a integridade referencial definidas em uma determinada tabela.Sintaxe:ALTER TABLE DROP ADD [NOT NULL]25[NOT NULL WITH DEFAULT] RENAME RENAME TABLE MODIFY [NULL] [NOT NULL]30 [NOT NULL WITH DEFAULT] ADD PRIMARY KEY DROP PRIMARY KEY ADD FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES (nome-tabela-pai) ON DELETE [RESTRICT]35 [CASCADE] [SET NULL] DROP FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES (nome-tabela-pai)onde:40a) nome-tabela - Representa o nome da tabela que ser atualizada.b) nome-coluna - Representa o nome da coluna que ser criada.c) tipo-do-dado - Clusula que define o tipo e tamanho dos campos definidos para a tabela.d) DROP - Realiza a retirada da coluna especificada na estrutura da tabela. 14. e) ADD - Realiza a incluso da coluna especificada na estrutura da tabela. Na coluna correspondente a este campo nos registros j existentes ser preenchido o valor NULL (Nulo). As definies NOT NULL e NOT NULL WITH DEFAULT so semelhantes do comando CREATE TABLE.f) RENAME - Realiza a troca do nome da coluna especificada. 5g) RENAME TABLE - Realiza a troca do nome da tabela especificada. h) MODIFY - Permite a alterao na caracterstica da coluna especificada.Opes: Alm das existentes na opo ADD (NOT NULL e NOT NULL WITH DEFAULT), temos a opo NULL10 que altera a caracterstica do campo passando a permitir o preenchimento com o valor Nulo.i) ADD PRIMARY KEY - Esta opo utilizada quando acrescido um novo campo como chave primria da tabela.j) DROP PRIMARY KEY - Esta opo utilizada quando retirado um campo como chave primria da tabela.15l) ADD FOREIGN KEY - Esta opo utilizada quando acrescido um novo campo sendo ele uma chave estrangeira. l) DROP FOREIGN KEY - Esta opo utilizada quando retirado uma chave estrangeira da estrutura da tabela. 4.1.3 - Drop Table20Objetivo:Deletar a estrutura e os dados existentes em uma tabela. Aps a execuo deste comando estaro deletados todos dados, estrutura e ndices de acessos que estejam a ela associados.Sintaxe:DROP TABLE 25onde:a) nome-tabela - Representa o nome da tabela que ser deletada. 4.1.4 - Create IndexObjetivo:30 Criar uma estrutura de ndice de acesso para uma determinada coluna em uma tabela. Um ndice de acesso permite um acesso mais rpido aos dados em uma operao de seleo. Os ndices podem ser criados a partir de um ou mais campos de uma tabela.Sintaxe:CREATE [UNIQUE] INDEX 35 ON ( [ASC ], [ [ASC ] ])[DESC] [DESC]onde:a) nome-ndice - Representa o nome da estrutura de ndice que ser criada.b) nome-tabela - Representa o nome da tabela que contem a coluna na qual ser criada o ndice de acesso.40c) nome-coluna - Representa o nome da coluna que ser criada. d) Opo ASC/DESC - Representa a criao do ndice ordenada crescentemente (ASC) ou decrescentemente (DESC). 15. 4.1.5 - Drop IndexObjetivo:Deletar uma estrutura de ndice de acesso para uma determinada coluna em uma tabela.Sintaxe: 5DROP INDEX onde:a) nome-ndice - Representa o nome da estrutura de ndice que ser deletada. 4.2 - Comandos DML 4.2.1 - Insert10Objetivo:Incluir um novo registro em uma tabela do Banco de Dados.Sintaxe:INSERT INTO [(, [])] VALUES ()15onde:a) nome-tabela - Representa o nome da tabela onde ser includa o registro.b) nome-coluna - Representa o nome da(s) coluna(s) tero contedo no momento da operao de incluso.Obs.: Este comando pode ser executado de duas maneiras: 1) Quando todos os campos da tabela tero contedo - Neste caso no necessrio especificar as colunas,20 entretanto a relao dos valores a serem includos devero obedecer a mesma seqncia da definio da tabela. 2) Quando apenas parte dos campos da tabela tero contedo - Neste caso devem ser especificadas todas as colunas que tero contedo e os valores relacionados devero obedecer esta seqncia. Para os campos que no tem contedo especificado ser preenchido o valor NULL.25 4.2.2 - UpdateObjetivo:Atualiza os dados de um ou um grupo de registros em uma tabela do Banco de Dados.Sintaxe:UPDATE 30 SET = [ = ] WHERE onde:a) nome-tabela - Representa o nome da tabela cujo contedo ser alterado.35 b) nome-coluna - Representa o nome da(s) coluna(s) tero seus contedos alterados com o novo valor especificado.c) condio - Representa a condio para a seleo dos registros que sero atualizados. Este seleo poder resultar em um ou vrios registros. Neste caso a alterao ir ocorrer em todos os registros selecionados. 4.2.3 - Delete40Objetivo: 16. Deletar um ou um grupo de registros em uma tabela do Banco de Dados.Sintaxe:DELETE FROM WHERE 5onde:a) nome-tabela - Representa o nome da tabela cujos registros sero deletados. b) condio - Representa a condio para a deleo dos registros. Este seleo poder resultar em um ou vrios registros. Neste caso a operao ir ocorrer em todos os registros selecionados.10 4.2.4 - SelectObjetivo:Selecionar um conjunto de registros em uma ou mais tabelas que atenda a uma determinada condio definida pelo comando.Sintaxe:15SELECT ALL FROM [, ]DISTINCT WHERE GROUP BY HAVING 20 ORDER BY ASC DESConde: a) nome-tabela - Representa o nome da(s) tabela(s) que contem as colunas que sero selecionadas ou que sero utilizadas para a execuo da consulta.25 b) condio - Representa a condio para a seleo dos registros. Este seleo poder resultar em um ou vrios registros.c) nome-coluna - Representa a(s) coluna(s) cujos resultados so grupados para atender consulta.d) ALL - Opo default. Mostra todos os valores obtidos na seleo.e) DISTINCT - Opo que mostra os valores obtidos na seleo eliminando as duplicidades.30f) WHERE - Especifica o critrio de seleo dos registros nas tabelas especificadas.g) GROUP BY - Especifica o(s) campo(s) que sero grupados para atender a consulta.h) HAVING - Especifica uma condio para seleo de um grupo de dados. Esta opo s utilizada combinada com a opo GROUP BY. i) ORDER BY - Esta opo quando utilizada apresenta o resultado da consulta ordenado de forma35 crescente ou decrescente pelos campos definidos.Algumas funes utilizadas no comando Select.a) COUNT(*)(DISTINCT )Objetivo:40 Retorna a quantidade de registros existentes no campo especificado. Quando a opo * utilizada o resultado a quantidade de registros existentes. Quando referenciado o nome de um campo retorna a quantidade de valores existentes na coluna. 17. b) SUM (ALL ) DISTINCTObjetivo: 5Retorna a soma dos valores existentes no campo especificado. Quando a opo DISTINCT utilizada so consideradas apenas os diferentes valores existentes no campo.c) AVG (ALL ) DISTINCT10Objetivo:Retorna a mdia dos valores existentes no campo especificado. Quando a opo DISTINCT utilizada so consideradas apenas os diferentes valores existentes no campo.d) MAX (ALL )15 DISTINCTObjetivo:Retorna o maior valor existente no campo especificado. Quando a opo DISTINCT utilizada so consideradas apenas os diferentes valores existentes no campo.20e) MIN (ALL ) DISTINCTObjetivo:Retorna o menor valor existente no campo especificado. Quando a opo DISTINCT utilizada so consideradas apenas os diferentes valores existentes no campo.25 18. NDICE1 - CONCEITOS GERAIS DE BANCO DE DADOS................................................................................................................................1 1.1 - Conceitos.........................................................................................................................................................................................1 1.2 - Representao Fsica do Banco de Dados.......................................................................................................................................1 1.3 - Vises do Banco de Dados..............................................................................................................................................................1 1.4 - Vantagens do Banco de Dados em relao arquitetura tradicional...............................................................................................21.4.1 - Definies................................................................................................................................................................................21.4.2 - Vantagens do Banco de Dados................................................................................................................................................22 - NORMALIZAO DE DADOS..........................................................................................................................................................3 2.1 - Definio.........................................................................................................................................................................................3 2.2 - Primeira Forma Normal (1FN)........................................................................................................................................................3 2.3 - Segunda Forma Normal (2FN)........................................................................................................................................................4 2.4 - Terceira Forma Normal (3FN)........................................................................................................................................................43 - MODELO DE ENTIDADE E RELACIONAMENTO (MER).............................................................................................................5 3.1 - Definio.........................................................................................................................................................................................5 3.2 - Representao Grfica....................................................................................................................................................................7 3.3 - Cardinalidade de Relacionamentos.................................................................................................................................................7 3.4 - Atributos do Relacionamento..........................................................................................................................................................9 3.5 - Grau do Relacionamento.................................................................................................................................................................93.5.1 - Relacionamento Binrio ..........................................................................................................................................................93.5.2 - Relacionamento Ternrio ......................................................................................................................................................104 - LINGUAGEM SQL.............................................................................................................................................................................11 4.1 - Comandos DDL............................................................................................................................................................................124.1.1 - Create Table............................................................................................................................................................................124.1.2 - Alter Table..............................................................................................................................................................................134.1.3 - Drop Table..............................................................................................................................................................................144.1.4 - Create Index...........................................................................................................................................................................144.1.5 - Drop Index.............................................................................................................................................................................15 4.2 - Comandos DML............................................................................................................................................................................154.2.1 - Insert.......................................................................................................................................................................................154.2.2 - Update....................................................................................................................................................................................154.2.3 - Delete.....................................................................................................................................................................................154.2.4 - Select......................................................................................................................................................................................16