Curso de Sistemas de Informao Banco de Dados I Agosto - 2005 Gustavo Zanini Kantorski gustavoz@cpd.ufsm.br
2 Objetivo Objetivos Especficos: Ressaltar a importncia da gerncia de dados em uma aplicao computacional; conceituar BD e SGBD; descrever as funes e a estrutura de um SGBD; analisar as caractersticas dos SGBDS que utilizam abordagem relacional; capacitar o aluno a representar, por meio de diagrama Entidade- Relacionamento, problemas de mdia complexidade; habilitar o aluno a executar a transformao do modelo conceitual para o lgico; efetuar a normalizao de um esquema conceitual at a terceira forma normal (3FN); capacitar o aluno utilizao da linguagem relacional SQL para a criao de estruturas (DDL), manipulao de dados (DML), vises e permisses de acesso (DCL); apresentar lgebra relacional. A disciplina tem por objetivo transmitir ao aluno os conhecimentos bsicos sobre bancos de dados e SGBD, ressaltando os aspectos de modelagem e manipulao de dados.
3 Ementa Introduo aos SGBDs Gerncia de dados antes do conceito de BD Conceitos de BD e SGBD Noes gerais de um sistema de BD Modelo Entidade-Relacionamento (E-R) Modelagem Conceitual Primitivas bsicas do modelo E-R Restries de Integridade Mecanismos de Abstrao Uso de uma ferramenta de modelagem Modelo Relacional Conceitos Bsicos Regras de Integridade Transformao de Diagramas ER para Modelo Relacional Normalizao de Relaes at 3FN
4 Ementa Linguagem SQL
Linguagem de Definio de Dados (DDL): CREATE TABLE, ALTER TABLE e DROP TABLE;
Linguagem de Manipulao de Dados (DML): SELECT, INSERT, UPDATE e DELETE;
Vises e Linguagem de Controle de Dados (DCL): CREATE VIEW, DROP VIEW, GRANT e REVOKE;
5 Bibliografia Bsica: HEUSER, Carlos Alberto. Projeto de Bancos de Dados. Ed. Sagra- Luzzatto, 2001.5 edio. KORTH, Henry F. e SILBERSCHATZ, Abraham. Sistema de Bancos de Dados. So Paulo: Makron Books, 1999. 3 edio revisada
Complementar: DATE, C. J. Introduo a Sistemas de Bancos de Dados. Rio de Janeiro: Campus, 2000. 7 edio. ULLMAN, J. A First Course in Database Systems. Upper Saddle River: Prentice Hall, 2002. 2 edio. ELMASRI, R. & NAVATHE, S.B. Fundamentals of database systems. Redwood City: The Benjamin/Cummings, 2003.4 edio.
6 Conceitos Fundamentais Traditional Database Applications Multimedia Databases Geographic Information Systems (GIS) Data Warehouses e On-Line Analytical Processing (OLAP) Active Database Technology
7 Conceitos Fundamentais Banco de Dados Dados Sistema Gerenciador de Banco de Dados Sistema de Banco de Dados Definio Construo Manipulao
8 Conceitos Fundamentais Definio do BD armazenado BD armazenado SGBD
Software p/ processar Consultas e Programas Software p/ acessar Dados Armazenados Programas de Aplicao/Consultas Sistema de BD Usurios/Programadores
9 Conceitos Fundamentais Histria Processamento de Arquivos
X
Bancos de Dados
10 Conceitos Fundamentais Processamento de Arquivos Inconsistncias e Redundncia Dificuldade de Acesso aos Dados Isolamento de Dados Problemas de Integridade Problemas de Atomicidade Problemas de Segurana
11 Conceitos Fundamentais Banco de Dados Controle de Redundncia Controle a Acesso no Autorizado Independncia de Programao e Dados Permitir Inferncia Integridade Referencial Backup e Recovery Prover vrias Interfaces de Usurio
12 Conceitos Fundamentais Banco de Dados Abstrao de Dados Suporte de mltiplas vises de usurio Reduzir o tempo de desenvolvimento de aplicaes Compartilhamento de dados sobre mltiplas transaes
13 Conceitos Fundamentais Atores Administrador do Banco de Dados Usurios Programadores de Aplicao Usurios Sofisticados Usurios Especialistas Usurios Navegantes
14 Conceitos Fundamentais Atores Administrador do Banco de Dados Coordena todas as atividades do sistema de BD. O DBA possui um timo entendimento dos recursos da empresa e suas necessidades. As obrigaes do DBA so: Definio do Esquema do BD Definio dos mtodos de acesso e estruturas de armazenamento Modificao na organizao fsica e de esquema Concesso de autorizao a usurios para acesso ao BD Especificao de restries de integridade Agir como ligao entre os usurios Monitorar desempenho
15 Conceitos Fundamentais Quando no usar um SGBD ? As aplicaes so simples e no necessitam modificaes Necessita-se de um rigoroso tempo de resposta para aplicaes Acesso multi-usurio para dados no requerido
16 Conceitos Fundamentais Modelo de Dados, Esquema e Instncias Modelo de Dados: Coleo de conceitos que so usados para descrever a estrutura de um banco de dados, isto , descrever os dados, o relacionamento entre os dados, a semntica dos dados e as restries dos dados. Modelo Relacional Modelo de Dados de Entidade-Relacionamento (principaklmente para projeto de banco de dados) Modelo de Dados baseado em Objetos (Orientado a Objetos e Objeto Relacional) Modelo de Dados Semiestruturados (XML) Outros modelos mais antigos: Modelo de RedeNetwork model Modelo Hierrquico
17 Conceitos Fundamentais Modelo de Dados, Esquema e Instncias Esquema: Projeto geral do banco de dados. Esquemas so alterados com pouca frequncia. Instncia: Conjunto de informaes contidas em determinado banco de dados em um dado momento. Tambm chamado de Estado do Banco de Dados.
18 Conceitos Fundamentais Um exemplo Banco de Dados de Universidade Estudantes Cursos Sees Notas
19 Elementos de Dados ESTUDANTE NomeEstudante NumeroEstudante Classe Smith 17 1 Brown 8 2 CURSO NomeCurso NumeroCurso Depto Creditos Introduo CS1310 CS 4 Estrutura de Dados CS3320 CS 4 Matemtica MATH2410 MATH 3 Bancos de Dados CS3380 CS 3 SECAO IdSecao NumeroCurso Semestre Ano Professor 85 MATH2410 1 98 King 92 CS1310 1 98 Anderson 102 CS3320 2 99 Knuth 112 MATH2410 1 99 Chang 119 CS1310 1 99 Anderson 135 CS3380 1 99 Stone NOTAS NumeroEstudante IdDisciplina Nota 17 112 B 17 119 C 8 85 A 8 92 A 8 102 B 8 135 A PREREQUISITOS NumeroCurso NumeroPreReq CS3380 CS3320 CS3380 MATH2410 CS3320 CS1310
20 PREREQCURSO CursoNome NumeroCurso NumeroPreReq CS3320 Banco de Dados CS3380 CS3380 MATH2410 Estrutura de Dados CS3320 CS1310 Vises Redundncias NOTAS_RELAT NumeroEstudante NomeEstudante IdSecao NumeroCurso Nota 17 Smith 112 MATH2410 B 17 Smith 119 CS1310 C 8 Brown 85 MATH2410 A 8 Brown 92 CS1310 A 8 Brown 102 CS3320 B 8 Brown 135 CS3380 A NOTAS_RELAT NumeroEstudante NomeEstudante IdSecao NumeroCurso Nota 17 Brown 112 MATH2410 B Conceitos Fundamentais Um exemplo
21 Conceitos Fundamentais Arquitetura de SGBD Esquema Interno Esquema Conceitual Viso Externa Viso Externa Usurios Finais Nvel Externo Mapeamento externo/conceitual Nvel Conceitual Mapeamento conceitual/interno Nvel Interno
22 Conceitos Fundamentais Independncia de Dados O que Independncia de Dados ? Independncia de Dados Lgica Independncia de Dados Fsica a capacidade de modificar a definio dos esquemas em determinado nvel, sem afetar o esquema do nvel superior.
23 Conceitos Fundamentais Interfaces e Linguagens de Bancos de Dados Linguagens de Bancos de Dados Data Definition Language (DDL) Data Manipulation Language (DML) Linguagem para manipular e acessar os dados organizados em um modelo de dados. Conhecida como linguagem de consulta. Podem ser procedurais e no procedurais. Exemplo: SQL Linguagem para a definio do esquema do BD. O compilador DDL gera um conjunto de tabelas que so armazenadas em um dicionrio de dados, que contm os meta-dados.
24 Conceitos Fundamentais Interfaces e Linguagens de Bancos de Dados Interfaces de Bancos de Dados Graphical User Interfaces (GUI) Natural Language Interfaces Interfaces for the DBA