Caractersticas da informao: Precisa (correcta e verdadeira) Concisa (de fcil manipulao) Simples (de fcil compreenso) Oportuna (existe no momento e local correcto)
Dados: Factos do mundo real (podem no ser informao). Informao: Dados depois de processados, de forma a representarem algo para o ser humano.
Tm como principais inconvenientes: Espao fsico ocupado Duplicao de informao desnecessria (Redundncia de Informao) Difcil manipulao da informao armazenada Deteriorao do suporte utilizado (Papel ou carto)
Tm como principais vantagens: Pouco espao fsico ocupado Eliminao da Redundncia de Informao. Fcil manipulao da informao armazenada Menor deteriorao do suporte utilizado
Neste tipo de ficheiros, a informao organizada por registos, constitudos por campos.
Exemplo: Registo: Ficha de um scio de um Vdeo Clube. Ficheiro: Conjunto de todos os scios.
Um sistema SGBD permitem criar e manipular Bases de Dados em que os dados so estruturados com independncia relativamente aos programas de aplicao que os manipulam.
1. Nvel Fsico Suportes informticos para o armazenamento dos ficheiros de dados (discos, disquetes, etc.) Forma como eles se encontram organizados nesses suportes.
2. Nvel Conceptual Estruturao ou organizao da informao em tabelas (entidades) e formas de relacionamento entre entidades. (Nmero e tipo de campos em que a informao estruturada)
3. Nvel de Visualizao Forma como os dados so apresentados aos utilizadores finais, atravs de interfaces grficos proporcionados pelo SGBD.
Etapas do Mtodo
Etapa 1 Diagramas E-R: Anlise das necessidades de informao da Empresa e elaborao do Modelo E-R. Etapa 2 Tabelas no Normalizadas: Transformao do Diagrama ER num conjunto de Tabelas Etapa 3 Tabelas Normalizadas: Normalizao das Tabelas
Entidade: Objectos ou conceitos que possuem um conjunto de caractersticas comuns. Compostas ou caracterizadas por um conjunto de atributos. Corresponde a uma tabela de uma Base de Dados.
Exemplos:
Entidade Co
Entidade Automvel
Representa-se por:
Co
Automvel
Atributo: Caractersticas comuns aos objectos ou conceitos definidos pela Entidade. qualquer propriedade de uma Entidade. Corresponde aos campos de uma tabela.
Ocorrncia: Para determinada situao, vamos ter valores concretos para os atributos. Corresponde aos registos de uma tabela.
Exemplo: Co Nome Yankee Rocky Fritz Raa Boxer Pastor Setter Sexo M F M DataNascimento Jan85 Mai88 Fev83
Uma entidade ou classe de entidades corresponde a uma tabela Os atributos da entidade correspondem aos campos da tabela Os vrios elementos da entidade correspondem aos registos.
Chave Candidata: um atributo ou conjunto de atributos que poder ser usado como Chave Primria para uma dada entidade.
Chave Primria: um atributo ou conjunto de atributos de uma entidade, escolhido de entre as Chaves Candidatas, que identifica uma ocorrncia especfica dessa mesma entidade, distinguindo-a das restantes, de forma inequvoca. No pode ser nula, nem repetida.
Dono
Possui
Co
A Chave primria identifica sem ambiguidades cada entidade concreta (Registo de uma tabela). Atravs delas que so estabelecidos os relacionamentos entre diferentes entidades ou tabelas
Chave Simples: constituda por um nico atributo (Campo). Chave Composta: constituda por mais do que um atributo (Conjunto de campos). A Chave Unvoca: Identifica de forma nica um registo de uma tabela.
Tipos de Relacionamentos
Existem 3 tipos de relacionamentos binrios: Relao 1:1 Relao 1:N Relao N:N
Relao 1:1
Professor 1 Lecciona
Lecciona
Disciplina
L-se: 1 Professor lecciona uma e uma s Disciplina 1 Disciplina leccionada por um e um s Professor
Relao 1:N
Departamento 1 Trabalha n Empregado
L-se: Num Departamento trabalham vrios Empregados 1 Empregado trabalha num e num s Departamento
Relao N:N
Autor n Escreve n Livro
L-se: 1 Autor escreve vrios Livros 1 Livro escrito por vrios Autores
Cliente N Conta 0234654 26423654 98965875 Cliente Antnio Silva Jos Ferreira Joo Santos Reserva 12/12/1987 10/01/1990 17/08/1995
Numa tabela as colunas correspondem aos campos ou atributos de uma entidade As linhas correspondem aos registos As vrias linhas (registos) podem conter dados repetidos em alguns campos, mas no podem existir duas linhas iguais. A ordem pela qual se dispem as colunas (campos) no importante e pode ser alterada sem que isso modifique o significado da informao contida na tabela
A ordem pela qual se dispem as linhas (registos) tambm no importante e pode ser alterada sem que isso signifique alterao da informao
No podem haver duas colunas (campos) com o mesmo nome. No deve haver campos vazios No permitido incluir mais do que um valor em cada campo de cada registo No podem haver registos duplicados.
Representao:
Exemplo1
1 n
Factura
Tem
Linhas Factura
L-se: 1 Factura tem vrias Linhas de Factura 1 Linha de Factura pertence a uma e uma s Factura 1 Factura tem Obrigatoriamente Linhas de Factura 1 Linha de Factura pertence Obrigatoriamente a uma e uma s Factura
Exemplo2
n n
Scio
Requisita
Livro
L-se: 1 Scio requisita vrios Livros 1 Livro requisitado por vrios Scios Nem todos os Scios requisitam Livros Nem todos os Livros so requisitados por Scios
Em funo do grau da relao e da participao das diversas entidades, iremos obter um conjunto de tabelas no normalizadas.
Relao 1:1
1. Ambas as entidades tm Participao Obrigatria
Empregado
Utiliza
Carro
Basta uma nica tabela, com o somatrio dos campos das 2 entidades. A chave primria de uma das entidades.
Empregado
Utiliza
Carro
So necessrias 2 tabelas, uma para cada entidade, e coloca-se a chave primria da entidade com participao no obrigatria na outra tabela, passando a designar-se por chave externa.
Empregado
Utiliza
Carro
So necessrias 3 tabelas, uma para cada entidade e outra para a relao, e coloca-se a chave primria de cada uma das entidades na terceira tabela. A chave primria poder ser qualquer uma das chaves externas.
Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo) Emp_Carro (CodEmpregado, Matricula)
Relao 1:N
1. A entidade do lado N tem Participao Obrigatria
Empregado
Utiliza
Carro
So necessrias 2 tabelas, uma para cada entidade, e coloca-se a chave primria da entidade com grau 1 na tabela com grau N, passando a designarse por chave externa.
Empregado
Utiliza
Carro
So necessrias 3 tabelas, uma para cada entidade e outra para a relao, e coloca-se a chave primria de cada uma das entidades na terceira tabela. A chave primria ser a chave primria da tabela do lado N.
Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo) Emp_Carro (CodEmpregado, Matricula)
Relao N:N
Empregado
Utiliza
Carro
So sempre necessrias 3 tabelas, uma para cada entidade e outra para a relao, e coloca-se a chave primria de cada uma das entidades na terceira tabela. A chave primria ser a concatenao das chaves primrias de cada uma das tabelas, obtendo-se, desta forma, uma Chave Composta.
Empregado (CodEmpregado, Nome, Morada) Carro (Matricula, Marca, Modelo) Emp_Carro (CodEmpregado, Matricula)
Notas: Chaves Externas: CodEmpregado e Matricula, separadamente Chave Primria: CodEmpregado e Matrcula, em conjunto (Chave Composta)
Integridade da Informao
Um sistema SGBD deve preservar a Integridade da Informao: Integridade de Entidade
Os valores dos atributos da chave no seu conjunto no se podem repetir nem serem nulos em qualquer dos registos.
Integridade Referencial
Impe que um valor de uma chave externa tem obrigatoriamente de existir como elemento da chave primria da tabela relacionada com aquela chave externa.
Os objectivos a atingir num projecto de uma base de dados so: Tornar possvel a incluso de toda a informao relevante. Evitar a redundncia ou repetio desnecessria. Procurar assegurar a consistncia e integridade da informao. Proporcionar interfaces fceis de compreender e manipular. Proporcionar formas de controlo do acesso informao.
Normalizao de Tabelas
Ao normalizarmos as tabelas, usando as Formas Normais, iremos eliminar a informao que se repete desnecessariamente (Redundncia da Informao). Existem 3 Formas Normais:
Primeira Forma Normal 1FN Secunda Forma Normal 2FN Terceira Forma Normal 3FN
Esta tabela no se encontra na 1 Forma Normal, uma vez que o atributo Armazm consiste numa lista de valores. Para podermos obter a 1 Forma Normal deveremos subdividir as diversas peas pelos diversos armazns. Assim, a tabela
Esta situao s faz sentido quando tivermos uma Chave Primria Composta. Para o nosso exemplo, vamos aumentar o nmero de atributos.
NCaixotes 47 32 13 58 23
2. A actualizao de um dos registos pode fazer perder a integridade da Base de Dados, criando uma anomalia de actualizao. Por exemplo: Se um armazm mudar o n de telefone, ou se actualizam todos os registos que dizem respeito a esse armazm, ou a Base de Dados perde a sua integridade, uma vez que teremos o mesmo armazm com ns de telefone diferentes.
3. A eliminao de um registo pode provocar idntica perda de integridade, criando uma anomalia de apagamento. Por exemplo: Se uma pea deixar de existir, e portanto se apagar o respectivo registo, pode desaparecer a indicao de um armazm com o respectivo n de telefone.
Para o nosso exemplo: A Tabela est na 2 Forma Normal? Qual a Chave da Tabela? o Se a Chave Primria no for concatenada, est na 2 Forma Normal. E se a Chave Primria for concatenada? o H atributos que no so chave e que dependem apenas de parte da chave? Se no, est na 2FN.
Para o nosso exemplo, verificamos que o atributo Telefone s depende do atributo Armazm e, como tal, a tabela no se encontra na 2FN.
NCaixotes 47 32 13 58 23
De notar que a Chave Primria da Tabela Existncia_de_Peas : NPea, Armazm. Armazm, isoladamente, funciona como Chave Externa para a tabela Armazns. De notar, tambm, que se resolveram todos os inconvenientes da 1FN.
Para o nosso exemplo e considerando que as peas so empacotadas em conjuntos de 10 unidades, verificamos que sabendo a Qtd_Stock, conseguimos determinar o NCaixotes, sendo as restantes colocadas num outro caixote. Portanto, o atributo NCaixotes, que no chave, depende do atributo Qtd_Stock, que tambm no chave. Assim a tabela no se encontra na 3FN. Para que a mesma esteja normalizada, devemos eliminar o atributo NCaixotes, obtendo desta forma:
4. Utilizao de Cdigos
Depois de as tabelas se encontrarem na 3FN, ainda podemos tentar simplificar o contedo das respectivas tabelas, utilizando cdigos. Utilizam-se cdigos em 3 situaes:
2. Quando o contedo de um campo uma palavra comprida que se repete vrias vezes.
Para o nosso exemplo: Armazm um atributo que se vai repetir vrias vezes na tabela Existncia_de_Peas, pelo que deveremos criar um novo cdigo para os armazns, obtendo desta forma: Existncia de Peas (NPea, CodArmazm, Qtd_Stock) Armazns (CodArmazm, Armazm, Telefone)
3. Quando queremos garantir que o contedo de um determinado atributo tem o mesmo valor para a mesma situao.
Exemplo: Se tivermos a seguinte tabela: Filme (CodFilme, Titulo, Gnero, AnoEdio) Se quisermos garantir que para o atributo Gnero, tenhamos sempre, por exemplo, o valor Aco (e no ACCO, Action, ACT, Acc., etc...), para todos os filmes cujo gnero seja Aco, deveremos criar uma nova tabela: Gneros (CodGnero, Gnero) Filme (CodFilme, Titulo, CodGnero, AnoEdio)