 
                                Introdução a Bancos de Dados Introdução à Informática DCC -UFMG Bancos de Dados Aula 1 Problema      Uma empresa mantém informações sobre todos os seus funcionários e produtos em arquivos. Problemas: Os programas e arquivos são criados por programadores diferentes Ambiente não permite consulta aos dados de forma eficiente. Dados podem estar em diferentes formatos Dificuldade de se trabalhar com múltiplos usuários e ainda os problemas de segurança. SGBDs   Um sistema de gerenciamento de bancos de dados (SGBD) consiste numa coleção única de dados inter-relacionados e um conjunto de programas para acessar esses dados. Objetivo: proporcionar um ambiente conveniente para retirar, acessar e armazenar informação no banco de dados. Objetos  Objetos são abstrações de coisas semelhantes.   Desconsideramos detalhes nas abstrações. Por exemplo, uma pessoa pode ser entendida como um empregado de uma empresa, uma paciente de um hospital, um criminoso em uma delegacia, etc... Definição de um objeto Atributos  Um atributo é a abstração de uma única característica possuída pelas entidades que foram classificadas como um objeto, ou seja, uma característica comum a todas essas entidades. COR Exemplo  Atributos do objeto carro:      Cor Marca Ano de fabricação Modelo Preço Tipos de atributos  Os atributos podem ser:    descritivos: refletem características intrínsecas ao objeto (ex: cor) nominativos: nomes (ex: código do carro). referenciais: fatos que ligam uma instância de um objeto a uma instância de outro objeto. (ex: fabricante) Tipos de atributos  Defina um atributo descritivo, um nominativo e um referencial para o objeto Empregado mostrado abaixo: Tipos de atributos    Descritivo: Salário Nominativo: CódigoEmpregado Referencial: NomeDepartamento Chave   Um conjunto de um ou mais atributos que unicamente distingue cada exemplo de um objeto é chamado identificador para aquele objeto. Um identificador pode ser chamado de chave. CHAVE Chave  Seja a entidade abaixo. Como ela pode ser criada em forma de tabela ? Que atributo seria a chave? Chave Bancos de Dados Aula 2 Relacionamentos  Um relacionamento é uma abstração de um conjunto de associações que existe entre espécies diferentes de coisas do mundo real. Tipos de relacionamentos  Os relacionamentos podem ser:    um para um: um departamento possui um diretor. Um diretor é de um departamento. Tipos de relacionamentos  Um para muitos: um departamento possui de 0 a N empregados. um empregado trabalha em um departamento. Tipos de relacionamentos   Muitos para muitos: autores escrevem livros. Essa multiplicidade de cada relacionamento é também chamada de cardinalidade. Problema  Suponha que você seja dono de uma locadora de vídeos. Você deseja armazenar dados de estoque e empréstimos dos seus filmes. Definição das Entidades    Quais coisas do mundo real fazem parte do universo do seu problema? Objeto: Fita. No modelo entidaderelacionamento, os objetos são chamados de entidade. Definição dos atributos  Em seguida, você deve pensar em como caracterizar uma fita. Você pode chegar a conclusão de que cada fita possui:     um nome uma duração um diretor um preço de compra Tipos de Entidades  Uma entidade pode ser:  um objeto com uma existência física:      uma pessoa particular, um carro, uma casa ou um empregado. um objeto com uma existência conceitual:    uma empresa, um emprego ou um curso universitário. Representação da Entidade Instâncias da Entidade Representação das entidades Chaves  As entidades podem possuir chave: um atributo cujo valor que identifica unicamente a entidade. Exemplo - Chave  Pessoa    Aluno   CPF Número da carteira de identidade Número de matrícula Não pode haver duas pessoas com o mesmo número de CPF!!! Criando chaves Criando relacionamentos Cardinalidade    Todo relacionamento possui uma cardinalidade. Um filme é dirigido por apenas um diretor (1-1) e um diretor pode dirigir de zero a muitos filmes (0-N). A cardinalidade deste relacionamento é "zero para n". (Pode haver um diretor que não dirigiu nenhum filme). ACCESS ACCESS Bancos de Dados Aula 3 Modelo Relacional   O modelo relacional representa o banco de dados como um conjunto de tabelas que podem se relacionar. Cada tabela é composta por um conjunto de valores divididos pelos seus diversos campos. Exemplo Transição ER Relacional   Diagrama de entidade relacionamento é diretamente convertido no modelo relacional. Cada entidade criada no modelo entidaderelacionamento será considerada uma tabela no Access. Criação dos campos   As colunas de uma tabela no modelo relacional correspondem aos atributos do modelo entidaderelacionamento. Na definição de uma tabela, podemos definir para cada campo:    nome, tipo, descrição. Propriedades dos campos  Para cada campo, podemos definir as seguintes propriedades:    tamanho, valor padrão requerido. Exemplo de propriedades     Atributo NomeFita da Tabela Fita. Tamanho do campo: este campo possui tamanho 100, ou seja, podem ser inseridos nesta tabela nomes de fitas de até 100 caracteres. Valor padrão: este campo não possui valor padrão. Requerido: é obrigatório sempre definir um valor para o campo "NomeFita". Exemplos de propriedades Criação de chaves e relacionamentos Recursos do Access   O Microsoft Access torna o tratamento das informações contidas nos bancos de dados muito mais fácil. Ele trabalha com os recursos:    consultas, relatórios e formulários. Consultas  Para a tabela abaixo, podemos fazer algumas consultas: Consultas   Quais os nomes dos filmes cuja duração é maior que 135 minutos? Quais os nomes dos filmes cujo preço seja é menor que 21,00 reais? Relatórios    As consultas podem ser visualizadas na própria tela do computador ou através de relatórios. Os relatórios trazem os dados que satisfazem a um certo critério de uma consulta. Exemplo, um relatório com todos os filmes da locadora que custaram mais que 21 reais. Exemplo - Relatório Formulários   Formulários são muito usados para entrada de dados em seu banco de dados. Possuem uma interface que permite que o usuário entre dados de forma fácil e simples. Exemplo - Formulários  Filmes dirigidos por Ridley Scott. Normalização  Perigos potenciais no projeto de um banco de dados:    repetição de informação: informações repetidas consomem espaço de armazenamento e dificultam a atualização. incapacidade de representar parte da informação: por vezes temos que incluir valores nulos nos bancos de dados. perda de informação. Normalização   Para evitar esses problemas, o projeto de um banco de dados deve passar pela fase de normalização. Um processo de transformação das relações (tabelas e relacionamentos) em novas relações pela aplicação de quebra de tabelas. Normalização  Este processo tem como conseqüências:     problemas de anomalias e inconsistências diminuem relações se tornam simplificadas e regulares aumento de integridade dos dados. O processo de normalização consiste de três fases. Primeira Forma Normal a (1 FN)  A primeira forma normal (1a FN) diz que todos os atributos admitem apenas valores atômicos, ou seja, os valores devem ser simples, não repetidos. Primeira Forma a Normal (1 FN) Não está na 1aFN Primeira Forma a Normal (1 FN) ( Dados repetidos ) Procedimento    a (1 FN) Identificar a chave primária da tabela. Identificar o grupo repetitivo e removê-lo da tabela. Criar uma nova tabela com a chave primária da tabela anterior e a do grupo repetitivo. Segunda Forma a Normal (2 FN)   Para que a segunda forma normal seja obedecida, a primeira forma normal deve ser satisfeita também. A segunda forma normal (2a FN) diz que cada atributo não chave deve ser dependente de toda a chave primária, ou seja, não podem existir atributos que não dependam da chave ou dependam apenas de parte da chave primária. Segunda Forma a Normal (2 FN) ( Cidade não depende de Código-Fornecedor ) Procedimento    a (2 FN) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária. Remover da tabela todos esses atributos identificados e criar uma nova tabela com eles. Os atributos removidos devem ser dependentes da chave primária da nova tabela . Terceira Forma Normal a (3 FN)   Para que a terceira forma normal seja obedecida, a segunda forma normal deve ser satisfeita também. A terceira forma normal diz que cada atributo não chave é dependente da chave primária e que todos os atributos não chave são independentes entre si. Terceira Forma Normal a (3 FN) ( O preço é calculado a partir da área ) Procedimento    a (3 FN) Identificar todos os atributos que são dependentes de outros atributos não chave. Removê-los e criar uma nova tabela com os mesmos. Os atributos removidos devem ser dependentes da chave primária da nova tabela .