Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados Prof. Roberto Harkovsky, MsC Objetivo Apresentar o curso de Banco de Dados Apresentar uma visão geral de banco de dados Discutir fundamentos e principais conceitos Ementa Conceitos fundamentais: entidades, atributos, relacionamentos; Modelagem conceitual, lógica e física de banco de dados; Normalização; Álgebra relacional; Comandos Transaction–SQL; Comandos de linguagem de definição de dados – DDL; Comandos de linguagem de manipulação de dados – DML; Operadores de comparação, lógicos e aritméticos; Funções de agregação, datas, matemáticas e strings; Agrupamento, União e Junção de tabelas; Criação de Views, Function, Stored Procedures e Triggers. Regras de Aprendizado Aulas iterativas Conteúdo e prática em cada encontro! Necessário construir um ambiente com SQL Server Avaliações 6 avaliações práticas Aprovação final: Conceito O, B ou S Começando... Roberto Harkovsky 6 Você pode ter dados sem informações, mas você não pode ter informações sem dados. Daniel Keys Moran 7 Ciência é orientada a Dados. Observatório de Neutrinos IceCube. 8 Cada vez mais muitas empresas se vêem como orientadas à dados. Roberto Harkovsky 9 O mundo está cada vez mais impulsionado por dados ... Este curso ensina os conceitos básicos de como usar e gerenciar dados. Formalizando: O que é um Banco de Dados? “Coleção de Dados fortemente estruturados acompanhados de um conjunto de mecanismos de controle, acesso e manipulação” Roberto Harkovsky 10 10 Para começar, Algumas Definições O que é um Banco de Dados Coleção de dados estruturados Tipicamente organizado em “registros” E algum relacionamento entre eles (registros) Roberto Harkovsky 11 O que é um Sistema Gerenciador de Banco de Dados? SGBD (Sistema Gerenciador de Banco de Dados) ou DBMS (DataBase Management System) Aplicação que fica “de frente” à uma coleção de dados e faz a mediação do acesso Sistema composto de um conjunto de mecanismos de controle, acesso e manipulação de uma base de dados, que permite construir e manipular bases de dados de diversas aplicações Provê independência de dados, com relação a organização física de arquivos e dados Manipula grande quantidade de dados Garante persistência de dados Roberto Harkovsky 12 12 Independência de Dados Conceito: Aplicações não precisam se preocupar como os dados são estruturados e armazenados 13 independência de dados lógica: proteção contra mudanças na estrutura lógica dos dados independência de dados física: proteção contra alterações de layout físicas Uma das razões mais importantes para utilizar um SGBD Isto é, não se precisa perguntar: podemos adicionar uma nova entidade ou um atributo sem reescrever o aplicativo? Isto é, não se precisa perguntar: em quais discos são armazenados os dados? Os dados são indexados? 13 Representando os Dados... É necessário uma forma estruturada e consistente para representar os dados Modelo de dados Descreve a organização dos dados Esquema Conceitual e Lógico Descrição de uma coleção de dados, usando um modelo de dados Esquema Físico Organização física dos dados no disco Roberto Harkovsky 14 Modelando os Dados Conceitual 15 Uma modelagem E/R é uma sintaxe visual para um projeto de BD, que é precisa o suficiente para os pontos técnicos, mas abstrato o suficiente para pessoas não-técnicas. produz Produto nome categoria preco Companhia nome Ex: Modelo E/R & Diagramas usados Roberto Harkovsky, MSc Modelando os Dados Lógico Esquema Estudante (SID integer, nome string, idade integer, CR float) Curso (CID string, titulo string) Matriculado (SID integer, CID integer) Instância { (142, Bart, 10, 2.3), (123, Fred, 10, 3.1), ...} { (CPS116, Intro. A Banco de Dados), ...} { (142, CPS116), (142, CPS114), ...} Roberto Harkovsky 16 16 Armazenando os Dados Um modelo de dados é representado por um banco de dados Uma relação pode ser pensada como uma tabela de valores, ou lista de tuplas. Cada coluna estabelece o tipo de dado Cada linha na tabela representa uma coleção de valores de dados relacionados. 17 sid Nome CR 1014 Bob 3.2 1234 Maria 3.8 Estudantes cid cnome creditos 464 Redes4 4 408 BD 2 101 Redes1 4 Classes sid cid Conceito 1234 464 O 1234 408 B 1014 101 S Matriculas Relações Como consultar ou manipular os dados no banco de dados?? 17 Acessando os Dados Álgebra Relacional Linguagem de consulta de banco de dados que consiste em um conjunto de operações, tendo como entrada uma ou duas relações e produzindo como resultado uma nova relação. Linguagem formal da Algebra relacional foi implementada através de um padrão chamado de SQL (Structured Query Language) – Linguagem estruturada para consultas Roberto Harkovsky 18 Disc π nome Prof DISC.Matric=Prof.Matric σnível=GR e idade>45 R1 := junte Disc e Prof onde Disc.Matr = Prof.Matr; R2 := selecione R1 onde Nível = GR e Idade > 45; R3 := projete R2 em Nome; 18 Acessando os Dados SQL (Structured Query Language) Usando declarações da linguagem SQL podemos definir a estrutura de um banco de dados, e podemos manipular os dados suas tabela; Podemos também controlar quem pode ler/escrever dados ou gerenciar operações para criar uma única unidade de trabalho (transações). A linguagem SQL pode ser dividida em 4 tipos de instruções de linguagem primárias Roberto Harkovsky 19 Consistindo Dados Transações... Transação: uma seqüência atômica de operações de DB (leitura / escrita) Se um usuário cancela uma Transação, deverá ser como se nada tivesse acontecido! Transações sempre deixam o BD num estado consistente Transações então são: Atômicas (tudo ou nada!) Consistentes: Dado só é valido se salvo Isoladas: uma transação não afeta outra Duráveis - São recuperáveis em caso de falhas Roberto Harkovsky 20 Desafios do SGBD Suponha que seu aplicativo tem 1000 usuários. Quais são alguns desafios para o correto funcionamento de seu SGBD? Segurança: Usuários diferentes, funções diferentes Performance: necessidade de fornecer acesso simultâneo Consistência: concorrência pode levar a problemas de atualização 21 SGBD permite ao usuário escrever programas como se fossem o único usuário acessando os dados Se o acesso ao disco/SSD é lento, SGBD esconde a latência fazendo mais trabalho CPU simultaneamente 21 Por Fim... Roberto Harkovsky 22 Banco de Dados I Prof. Roberto Harkovsky, MsC
Compartilhar