Sie sind auf Seite 1von 26

INSTITUTO DE EXATAS E TECNOLGICAS Curso de Cincia da Computao

BANCO DE DADOS aula 01 - introduo -

professor: Juliano Varella de Carvalho

1.1 Apresentao
Apresentao:
- nome: Juliano Varella de Carvalho - formao: bacharel em cincia da computao (UFPel) e mestre em informtica (UFPB) - reas de interesse: banco de dados; Integrao BD-Web; Data Mining ; DW; OO;

Apresentao da disciplina: - objetivos:


- Identificar origem, natureza, modelos e utilizaes de SGBD; - Elaborar modelos de dados; - Entender os conceitos a respeito do modelo relacional; - Conhecer estruturas internas e externas de um SGBD; - Implementar tcnicas de Normalizao; - Trabalhar com comandos SQL. - Identificar aspectos de Concorrncia, Segurana e Transao;

- planejamento de aula: 20 aulas


- Apresentao: do professor, dos alunos e da disciplina, interesses e perspectivas da disciplina; seus objetivos e forma de avaliao. - Introduo a SGBD : viso geral de um banco de dados, conceitos, o por qu, funcionamento de bancos de dados.

1.1 Apresentao
Modelo Entidade Relacionamento: conceitos, diagrama ER, mapeamento do ER em tabelas. Modelo Relacional: estrutura e lgebra relacional, clculo relacional. Regras de Integridade e Normalizao: integridade referencial, restries de domnios, triggers, formas normais. Laboratrio de Linguagem SQL: conceitos e comandos. Indexao: conceitos, principais estruturas, processamento de consultas. Arquitetura de SGBD Recuperao: conceitos, armazenamento, recuperao e gerenciamento de buffer. Arquitetura de SGBD Concorrncia: conceitos, protocolos, granularidade, operaes de insero e remoo. Arquitetura de SGBD Processamento de Transaes: conceitos, definio de atomicidade, consistncia, durabilidade e isolamento, serializao, recuperao.

Bibliografia:
- BIBLIOGRAFIA BSICA: - KORTH, H; SILBERCHATZ, A. Sistema de Banco de Dados. SP, Makron Books. 1994. M - DATE, C.J. Introduo a Sistemas de Banco de Dados. RJ, Campus. 1991. - ELMASRI R., NAVATHE S., Fundamentals of Database Systems, second edition, Addison-Wesley, 1994. - HEUSER, C. A. Projeto de Banco de Dados, Sagra Luzzatto, 2001. - BIBLIOGRAFIA COMPLEMENTAR: - MOLINA, H, WIDOM, J., ULLMAN, J. Implementao de Sistemas de Banco de Dados, RJ, Campus, 2001. - KERN, V. Banco de Dados Relacionais. rica. 1994. - ULMANN, J. A First course in databases systems. Prentice Hall. 1997.

1.1 Apresentao
Avaliao:
Sero realizadas duas avaliaes escritas individuais que comporo individualmente dois graus (P1 e P2). Haver uma terceira nota T. A nota final ser dada pela mdia aritmtica das trs avaliaes. MG= (P1 + P2 + T)/3 Ser aprovado o aluno que obtiver mdia geral superior a sete (7). O aluno que obtiver mdia inferior a trs (3) est reprovado. O aluno que obtiver mdia maior que trs (3) e menor que sete (7) dever realizar avaliao final (AF). Na necessidade de uma avaliao final (AF), a mdia semestral do aluno ser dada por: MS=(MG+AF)/2 Ser aprovado o aluno que obtiver mdia semestral (MS) superior a 5 (cinco).

Meios de Comunicao
- Site do professor: http://www.wzero.com.br/feevale/ - email do professor: juliano.varella@gmail.com

Todos os emails devem ser enviados com o assunto [BANCO-DADOS]

Apresentao dos alunos (nome profisso experincia com BD)

1.2 Conceitos

1.2 Conceitos
um banco de dados o equivalente eletrnico de um armrio de arquivamento. um banco de dados uma coleo de arquivos com dados operacionais armazenados, usados pelos sistemas de aplicaes de uma empresa especfica. Permite portanto: acrescentar novos arquivos ao BD; inserir dados em arquivos existentes; buscar dados de arquivos existentes; excluir dados de arquivos existentes; alterar dados de arquivos existentes; remover arquivos existentes no BD.

sistema de banco de dados, basicamente, um sistema computadorizado de manuteno de registros, ou seja, um sistema cujo objetivo global manter os dados e torn-los disponveis quando solicitados.

Banco de dados

usurios finais Programas de aplicao Gerenciador do sistema de banco de dados usurios finais

- dados - hardware - software - usurios

1.2 Conceitos
dados: designam os valores fisicamente registrados no banco de dados; informaes: designam o significados destes valores para um usurio especfico; os dados apresentam 2 caractersticas: - so integrados: entende-se com sendo a unio de diversos arquivos, que de outra forma estariam dispersos; Ex: arquivos FUNCIONRIO(nome, endereco, depto, salrio) e MATRCULA(nome, curso,...) - so compartilhados: os dados so compartilhados por diversos usurios, podendo estes acessarem o mesmo conjunto de dados para us-los com objetivos diferentes. Ex: Depto de Pessoal e Depto de Treinamento

o hardware envolvido para armazenar banco de dados consiste em: - Processador e memria principal que do suporte execuo do software - Memria secundria, dispositivos de entrada e sada, controladores de dispositivos, etc. Usados para armazenar os dados. o software a camada de software entre os usurios e os dados armazenados denomina-se sistema gerenciador de banco de dados (DBMS). O DBMS isola os usurios do BD, dos detalhes a nvel de hardware e admite operaes de usurios. - Instncia de SGBD: cpia especfica de um produto, executando em um computador

1.2 Conceitos
os usurios so os atores que so responsveis pela administrao do banco, carregamento dos dados, consulta, criao de aplicaes, entre outras tarefas. Dividem-se em: - programadores de aplicaes: interagem com o SGBD, por meio de requisies embutidas em programas nas mais diversas linguagens. - usurios finais: acessam o banco de dados interativamente, via aplicaes ou interface do prprio SGBD. - administrador: pessoa responsvel por fazer o controle, de modo centralizado, dos dados e dos programas que acessam o banco de dados. Suas principais funes so: de dados * deve entender dos dados e da importncia destes para a empresa; * decidir quais dados devem ser armazenados no BD; * estabelecer normas para manter e tratar esses dados; de banco de dados * criar os bancos de dados; * gerar um conjunto de tabelas armazenadas no banco de dados; * implementar os controles para pr em prtica as normas tomadas; * assegurar o desempenho adequado do sistema e monitor-lo; * definio da estrutura de dados e mtodo de acesso; * criao e modificao na organizao fsica; * implementar autorizao de acesso ao sistema; * especificar de regras de integridade; * servir de elo de ligao com os usurios; * definir a estratgia de backup e recuperao: aps erros humanos, falhas no hardware ou no sistema operacional necessrio retornar o BD o mais breve possvel e com as menores conseqncias ao sistema

1.8 Administrador de Banco de Dados

programas utilitrios para auxiliar: - ferramentas de carga: criar uma verso inicial do BD a partir de um ou mais arquivos; - ferramentas de backup/restore (gravao/recuperao); - ferramentas de reorganizao: ajustar o banco de dados de forma a aprimorar o seu desempenho agrupamento dos dados ou regenerao de espao de dados obsoletos; - ferramentas estatsticas: para computar diversos desempenhos estatsticos, tamanhos de arquivos, grficos, etc; - ferramentas analticas: analisa as estatsticas geradas; - dicionrio de dados ou catlogo do sistema ou banco de dados do sistema: so dados sobre dados (metadados), ou seja, descrio dos objetos do sistema.

1.2 Conceitos
Por que usar um banco de dados ? Comparando-se ao trabalho manual de armazenar dados: - densidade: no h necessidade de volume de papis; - velocidade: recuperao e modificao dos dados realizada de maneira muito rpida; - menos trabalho montono: troca o trabalho manual pelo trabalho mecnico; - atualidade: informaes precisas e atualizadas esto disponveis a qualquer momento; - proteo: os dados podem ficar melhor protegidos a perdas no intencionais e acesso ilegal. - controle centralizado dos dados operacionais: * redundncia dos dados evitada -> desperdcio de espao evitado; * inconsistncia evitada -> informaes incorretas evitadas, atravs da remoo de redundncias ou da redundncia controlada (propagao de atualizaes); * compartilhamento dos dados por vrias aplicaes; * permite a aplicao de restries de segurana; * mantm a integridade dos dados, atravs da gerao de regras de integridade; * suporte a transaes (unidade lgica de trabalho) oferecido; * padres (nomenclatura, documentao, de instalao, etc) podem ser impostos.

1.3 Histrico
Durante a evoluo dos bancos de dados, ao longo da histria da computao, podemos distinguir quatro geraes destes sistemas. So elas: 1 gerao - processamento de dados em arquivos independentes: nesta poca, os bancos de dados no existiam, por isso diversos programas manipulavam diferentes arquivos, os quais eram os responsveis pelo armazenamento dos dados. A figura 1 ilustra esta gerao.

Fig. 1: primeira gerao Ainda existem algumas aplicaes que se utilizam deste mtodo para organizao dos dados, basicamente porque a estrutura para organizao dos dados do sistema to simples que pode ser inserida em um ou vrios arquivos sem conexo lgica entre eles.

1.3 Histrico
2 gerao - processamento de dados em arquivos integrados: os principais problemas da 1 gerao so:

* redundncia de dados; * inconsistncia; * acesso difcil aos dados a partir do usurio


Dada a necessidade, comeam a surgir os primeiros Sistemas de Gerncia de Banco de Dados (SGBD's). Desta forma, todos os programas passam a compartilhar um nico arquivo entre si: o banco de dados (figura 2).

Fig. 2: segunda gerao Agora o SGBD responsabilizar-se- com diversas tarefas, anteriormente espalhadas nos diversos programas, tais como: * controle de consistncia; * segurana dos dados; * eficincia; * tolerncia a falhas, etc

1.3 Histrico
3 gerao - processamento da informao: os modelos da 2 gerao no so inteiramente suficientes para conseguir descrever de forma mais completa a aplicao. necessrio mapear a aplicao em conceitos intrnsecos aos bancos de dados como registro, normalizao, chave primria, etc. Faltam tipos complexos. modelagem de um objeto em bd relacional

4 gerao - processamento ampliado: os sistemas ditos de 4 gerao procuram ampliar as possveis aplicaes de sistemas de banco de dados. Exemplos deles temos:

* BD's Multimdia: processam de forma adequada objetos multimdia, os quais possuem caractersticas prprias, exemplos com imagens estticas ou animadas, sons, textos, grficos, mapas, etc;
* Bancos de Dados Espaciais; * Bancos de Dados Semi-estruturados e XML; * Bancos de Dados Temporais; * Bancos de Dados Textuais; * Bancos de Dados Distribudos e Paralelos; * Bancos de Dados Mveis;

1.4 Objetivos

Um SGBD (Sistema Gerenciador de Banco de Dados) deve oferecer um ambiente conveniente e eficiente para a recuperao e o armazenamento das informaes do banco de dados;

Um SGBD tem como objetivos solucionar as seguintes desvantagens de um Sistema de Processamento de Arquivos:

* * * * * *

inconsistncia e redundncia de dados; dificuldade de acesso aos dados ( necessria a recuperao de informaes de modo eficiente); integridade de dados ineficiente; problemas de atomicidade (ou tudo ou nada); problemas na manuteno de acesso concorrente aos dados; segurana de dados ineficaz

1.5 Viso geral do Banco de Dados


Campo armazenado: menor unidade de dados armazenados. Registro armazenado: coleo de campos armazenados relacionados entre si.
Arquivo armazenado:coleo de todas as Ocorrncias de um nico tipo de registro armazenado.

Banco de dados armazenado

outros arquivos armazenados Arquivo armazenado peas


n da pea nome da pea cor da pea peso da pea

P1

Porca

Vermelho

12

Duas ocorrncias do tipo de registro armazenado pea

ocorrncias de campos armazenados

P2
n da pea

Pino
nome da pea

Verde
cor da pea

17
peso da pea

1.7 Nveis de abstrao


nveis: - interno: mais prximo ao armazenamento fsico relaciona-se forma com os
dados so realmente armazenados, bem como o detalhamento de como eles so acessados.

- externo: mais prximo aos usurios forma como os dados so vistos pelos
usurios individuais.

- conceitual (lgico): nvel de simulao viso conceitual que corresponde

representao abstrata do banco de dados em sua totalidade. Utilizam estruturas mais simples, tais como sql, gatilhos, backup/recovery, para executar tarefas complexas vistas do nvel Usurio A1 Usurio A2 Usurio B1 Usurio B2 Usurio B3 fsico.
Linguagem X Linguagem Y Linguagem Z Linguagem Z Linguagem X

Esquema Viso externa A Externo A Mapeamento A externo/conceitual Esquema Conceitual

Esquema Viso externa B Externo B Mapeamento B externo/conceitual Viso conceitual Mapeamento conceitual/interno Sistema de Gerenciamento de banco de Dados (DBMS)

DBA

Definio de estrutura do armazenamento (esquema interno) Banco de dados armazenado (viso interna)

1.7 Nveis de abstrao

exemplo dos trs nveis: banco de dados de funcionrio Externo DCL 1 EMPP, 2 EMP# CHAR(6), 2 SAL FIXED BIN(31); Conceitual EMPLOYEE EMPLOYEE_NUMBER DEPARTAMENT_NUMBER SALARY Interno STORED_EMP PREFIX EMP# DEPT# PAY 01 EMPC 02 EMPNO PIC X(6) 02 DEPTNO PIC X(4)

CHARACTER(6) CHARACTER(4) NUMERIC(5)

LENGTH=118 TYPE=BYTE(6), OFFSET=0 TYPE=BYTE(6), OFFSET=6, INDEX=EMPX TYPE=BYTE(4), OFFSET=12 TYPE=FULLWORD, OFFSET=16

1.7.1 Nvel externo

o nvel do usurio individual. Em termos ANSI/SPARC, a viso de um determinado usurio uma viso externa, ou seja, o contedo do banco de dados como visto por determinado usurio. Ex: um usurio do Depto. Pessoal usurios finais com distintos graus de sofisticao cada usurio tem um linguagem a sua disposio. Ex: - Programador da aplicao: pode utilizar uma linguagem convencional como COBOL ou PL/I, ou uma linguagem do sistema em questo, PL/SQL, PGSQL, TRANSACT-SQL. -Usurio final: uma linguagem de consulta como SQL ou uma linguagem baseada em formulrios e menus. mapeamento externo/conceitual a correspondncia entre a viso externa e a conceitual. Como exemplo, podemos ter tipos de dados diferentes, denominaes de campos e registros modificadas, campos conceituais mltiplos podem ser combinados em um nico campo externo, etc.

1.7.2 Nvel conceitual

a viso conceitual a representao de todo o contedo de informaes do banco de dados, de modo abstrato quando comparado forma como os dados so fisicamente armazenados, e que tambm pode ser bem diferente da maneira como os dados so vistos por qualquer usurio em particular. a viso conceitual a viso dos dados como realmente so e no como os usurios so forados a v-los. a viso conceitual definida pelo esquema conceitual, o qual no possui quaisquer consideraes sobre a estrutura de armazenamento ou a estratgia de acesso somente definio das informaes.

1.7.3 Nvel interno

a viso interna descrita atravs do esquema interno, o qual tem a responsabilidade de definir: - tipos de registros armazenados; - os ndices existentes; - triggers necessrios; - seqncia fsica dos registros, etc.

1.8 Sistema de Gerenciamento de Banco de Dados

Resumindo, o SGBD o software que manipula todos os acessos ao BD. Exemplo: 1. 3. 5. O usurio emite uma solicitao de acesso; O DBMS intercepta a solicitao e a analisa; O DBMS, por sua vez, inspeciona os esquemas externos para aquele usurio, o mapeamento externo/conceitual correspondente, o esquema conceitual, o mapeamento conceitual/interno e a definio da estrutura de armazenamento; O DBMS executa as operaes necessrias no banco de dados armazenado.

7.

1.8 Sistema de Gerenciamento de Banco de Dados


Fonte de esquemas e mapeamentos Solicitaes de DML Planejadas Solicitaes de DML no-planejadas

Processador de DDL

Processador de DML solicitaes compiladas otimizador solicitaes otimizadas Gerenciador em tempo de execuo

Processador de linguagem de consulta

Fonte de esquemas e mapeamentos

metadados

Banco de dados dados metadados

1.9 Tipos de Sistemas de Banco de dados

Sistemas de Lista Invertida: Ex: DATACOM/DB (Aplied Data Research), ADABAS(Software AG), etc. Sistemas Hierrquicos: Ex: IMS (1968, 1 verso depois virou IMS/VS Information Management System/Virtual Storage) (IBM), System 2000 (Intel); Sistemas em Rede: Ex: IDMS (Cullinet), DMS 1100 (Sperry), TOTAL (Cincom Systems) Sistemas Relacionais: aquele no qual os dados so percebidos pelos usurios como tabelas e as operaes para recuperao dos dados geram novas tabelas, a partir das originais. Ex: Oracle, DB2 (IBM), MySql (MySql AB), Firebird (Open Source), PostgreSQL (Open Source), SQL Server (Microsoft), Sybase Adaptative Server (Sybase), etc. Sistemas Orientados a Objetos: Os dados so armazenados como objetos. Ex: GemStone (GemStone Systems Inc.), Versant (Versant Object Technology), O2, Jasmine, etc. Sistemas Relacionais-Orientados a Objetos: tiram proveito de caractersticas dos sistemas relacionais e do sistema orientado a objeto. Ex: Oracle (a partir da verso 8i), PostgreSql.

1.11 Linguagens de Consulta

- SQL (Structured Query Language) - Linguagens de Definio de Dados (DDL): so as definies utilizadas para a especificao do esquema de dados. O resultado da compilao de uma clusula DDL a criao(alterao) de um objeto no esquema, alm do armazenamento deste resultado no de dados; - Linguagens de Manipulao de Dados (DML): utilizada para inserir, atualizar, excluir e recuperar informaes do BD. Existem tanto DML's procedurais quanto no procedurais

1.12 Modelos de SGBDs


Modelo relacional: utiliza-se de um conjunto de tabelas para representar tanto os dados como a relao entre eles.

nome Jlio Ana Pedro Tiago Fernanda Tiago

cpf 12345678901 10987654321 22233344456 99988877765 22211100098 99988877765

cidade Porto Alegre Novo Hamburgo Sp Leopoldo Novo Hamburgo Porto Alegre Novo Hamburgo

conta C-001 C-105 C-888 C-185 C-006 C-152

conta C-152 C-105 C-888 C-006 C-185 C-001

saldo 500 700 900 1500 2300 1850

Modelo de rede: os dados so representados por um conjunto de registros (como em linguagens de programao) e a relao entre os dados dada por links (ligaes - ponteiros)

Jlio Ana Pedro Tiago Fernanda

12345678901 10987654321 22233344456 99988877765 22211100098

Porto Alegre Novo Hamburgo Sp Leopoldo Novo Hamburgo Porto Alegre

C-152 C-105 C-888 C-006 C-185 C-001

500 700 900 1500 2300 1850

1.13 Modelos de SGBDs


Modelo hierrquico: similar ao modelo de rede, a no ser pelo fato de os registros estarem organizados em rvores.

Jlio

12345678901

Porto Alegre Ana 10987654321 Novo Hamburgo Pedro 22233344456 Sp Leopoldo Tiago C-105 700 Fernanda C-888 900 C-152 500 C-185 2300 C-006 1500 22211100098 Porto Alegre 99988877765 Novo Hamburgo

C-001

1850

Modelo dimensional: armazena os dados em arrays multidimensionais (cubos).


BD RELACIONAL MODELO BMW BMW Mercedes Mercedes Toyota Toyota COR Azul Preto Azul Preto Azul Preto VENDAS 5 12 1 8 3 6 MATRIZ BIDIMENSIONAL MODELO BMW Mercedes Toyota Azul 5 1 3 Preto 12 8 6

Das könnte Ihnen auch gefallen