Académique Documents
Professionnel Documents
Culture Documents
Banco de Dados
Lio 1
Introduo a Sistemas de Bancos de Dados
JEDITM
Autor Ma. Rowena C. Solamo Equipe Rommel Feria Rick Hillegas John Paul Petines
Sistemas Operacionais Suportados NetBeans IDE 5.5 para os seguintes sistemas operacionais: Microsoft Windows XP Profissional SP2 ou superior Mac OS X 10.4.5 ou superior Red Hat Fedora Core 3 Solaris 10 Operating System (SPARC e x86/x64 Platform Edition) NetBeans Enterprise Pack, poder ser executado nas seguintes plataformas: Microsoft Windows 2000 Profissional SP4 Solaris 8 OS (SPARC e x86/x64 Platform Edition) e Solaris 9 OS (SPARC e x86/x64 Platform Edition) Vrias outras distribuies Linux Configurao Mnima de Hardware Nota: IDE NetBeans com resoluo de tela em 1024x768 pixel Sistema Operacional Microsoft Windows Linux Solaris OS (SPARC) Solaris OS (x86/x64 Platform Edition) Mac OS X Processador 500 MHz Intel Pentium III workstation ou equivalente 500 MHz Intel Pentium III workstation ou equivalente UltraSPARC II 450 MHz AMD Opteron 100 Srie 1.8 GHz PowerPC G4 Memria 512 MB 512 MB 512 MB 512 MB 512 MB HD Livre 850 MB 450 MB 450 MB 450 MB 450 MB
Configurao Recomendada de Hardware Sistema Operacional Microsoft Windows Linux Solaris OS (SPARC) Solaris OS (x86/x64 Platform Edition) Mac OS X Processador 1.4 GHz Intel Pentium III workstation ou equivalente 1.4 GHz Intel Pentium III workstation ou equivalente UltraSPARC IIIi 1 GHz AMD Opteron 100 Series 1.8 GHz PowerPC G5 Memria 1 GB 1 GB 1 GB 1 GB 1 GB HD Livre 1 GB 850 MB 850 MB 850 MB 850 MB
Requerimentos de Software NetBeans Enterprise Pack 5.5 executando sobre Java 2 Platform Standard Edition Development Kit 5.0 ou superior (JDK 5.0, verso 1.5.0_01 ou superior), contemplando a Java Runtime Environment, ferramentas de desenvolvimento para compilar, depurar, e executar aplicaes escritas em linguagem Java. Sun Java System Application Server Platform Edition 9. Para Solaris, Windows, e Linux, os arquivos da JDK podem ser obtidos para sua plataforma em http://java.sun.com/j2se/1.5.0/download.html Para Mac OS X, Java 2 Plataform Standard Edition (J2SE) 5.0 Release 4, pode ser obtida diretamente da Apple's Developer Connection, no endereo: http://developer.apple.com/java ( necessrio registrar o download da JDK). Para mais informaes: http://www.netbeans.org/community/releases/60/relnotes.htm Java DB System Requirements Java DB is supported on the Solaris, Linux and Windows operating systems and Sun Java 1.4 or later.
Banco de Dados
JEDITM
Auxiliadores especiais
Reviso Geral do texto para os seguintes Pases:
Brasil Tiago Flach Guin Bissau Alfredo C, Bunene Sisse e Buon Olossato Quebi ONG Asas de Socorro
Coordenao do DFJUG
Daniel deOliveira JUGLeader responsvel pelos acordos de parcerias Luci Campos - Idealizadora do DFJUG responsvel pelo apoio social Fernando Anselmo - Coordenador responsvel pelo processo de traduo e reviso, disponibilizao dos materiais e insero de novos mdulos Rodrigo Nunes - Coordenador responsvel pela parte multimdia Srgio Gomes Veloso - Coordenador responsvel pelo ambiente JEDITM (Moodle)
Agradecimento Especial
John Paul Petines Criador da Iniciativa JEDITM Rommel Feria Criador da Iniciativa JEDITM
Banco de Dados
JEDITM
1. Objetivos
Nesta lio veremos uma introduo a sistemas de bancos de dados. A primeira parte descreve o ambiente de banco de dados utilizando o conceito de Gerenciamento de Recursos de Informaes ou IRM (Information Resource Management) em que as empresas tem necessidade de gerenciar seus dados e informaes. A segunda seo discute o processo de desenvolvimento de bases de dados utilizando o framework a Arquitetura de Sistema de Informao ou ISA (Information System Architecture). Isto ajudar a entender o lugar do banco de dados no processo de desenvolvimento e manuteno de sistemas de informao em uma empresa. Ao final desta lio, o estudante ser capaz de:
Descrever o ambiente de banco de dados utilizando o conceito de Gerenciamento de Recursos de Informao Descrever a Arquitetura de Sistemas de Informao como um framework para construo de sistemas de informao Entender a importncia do banco de dados dentro do desenvolvimento geral de sistemas de informao Discutir os processos de anlise, design e implementao de um banco de dados
Banco de Dados
JEDITM
Recursos Fsicos que so, por exemplo: pessoal, materiais, mquinas, entre outros Recursos Conceituais como dados e informaes
4. Com o crescimento das operaes organizacionais, torna-se difcil gerenciar os recursos fsicos utilizando observaes. Portanto, gerentes de negcios so forados a depender de recursos conceituais 5. Os mesmos princpios bsicos utilizados para o gerenciamento de recursos fsicos podem ser utilizados para gerenciar os recursos conceituais 6. O gerenciamento de dados e informaes, envolve:
Aquisio de dados e informaes antes que sejam necessrias Medidas de segurana para proteger recursos contra invaso, uso indevido e destruio Garantia de qualidade Procedimentos de liberao de recursos quando no so mais necessrios organizao
7. Compromisso organizacional necessrio para gerenciar os dados e informaes. Para implementar IRM, as seguintes funcionalidades so consideradas: 1. Gerenciamento de operaes, tais como: agendamento, planejamento de capacidade, segurana de operaes e desastres de recuperao de dados e informaes 2. Garantia de qualidade para garantir que necessrio informaes sejam fornecidas quando
3. Gerenciamento de comunicaes de LAN ou WAN 4. Gerenciamento de recursos de dados tais como anlise de dados, design de bancos de dados, administrao de dados e administrao do banco de dados 5. Gerenciamento de projeto 6. Planejamento de Sistemas de Informao corporativos 7. Desenvolvimento e manuteno de sistemas Dados so fatos acerca de pessoas, objetos e eventos. Informao, por outro lado, o dado que foi devidamente processado e apresentado num formulrio para a interpretao humana, freqentemente com o propsito de revelar tendncias e padres. Existem 5 tarefas envolvidas na converso de dados em informaes. So eles: 1. Aquisio 2. Armazenamento 3. Manipulao 4. Recuperao
Banco de Dados
JEDITM
5. Distribuio Para dar suporte aos 5 itens citados acima necessria a utilizao de uma base de dados. Um banco de dados uma coleo compartilhada de dados lgicos relacionados, de tal forma a prover informao para mltiplos usurios em uma organizao. Existem duas arquiteturas genricas de bancos de dados: bancos de dados centralizados e bancos de dados distribudos.
O sistema operacional utilizado em cada uma das localidades deve ser o mesmo ou pelo menos um que seja altamente compatvel O modelo de dados utilizado em cada uma das localidades deve ser o mesmo O sistema gerenciador de banco de dados utilizado em cada uma das localidades deve ser o mesmo ou pelo menos que sejam altamente compatveis entre si Os dados em suas vrias localidades devem possuir definies e formatos comuns
2. Bancos de dados Heterogneos. A tecnologia utilizada varia e pode no ser a mesma em todas as localidades. Um banco de dados pode utilizar uma tecnologia de gerenciamento relacional enquanto que outro utilize arquivos convencionais ou antigos bancos de dados hierrquicos. Estes bancos de dados ficam conectados.
Banco de Dados 6
JEDITM
Lista as entidades Lista as funes que importantes de um negcio o negcio deve realizar adfadfds adfadfds adfadfds
adfadfds adfadf adfadf asdfasdf asdfasdf asdfadf asdfadf asdfa asdfa asdf asdf adfadf adfadf asdfasdf asdfasdf asdfadf asdfadf asdfa asdfa asdf asdf
2 Modelo do negcio
Distribuio em redes
4 Modelo de tecnologia
Design de configurao
Sistema de informao
Dados e informaes
Aplicaes
Configurao do sistema
Os trs componentes principais neste framework so dados, processos e rede. Estes so as trs colunas da tabela. 1. Dados consistem de entidades de dados e o relacionamento entre si. Representam o o qu? em um sistema de informao. Este o componente com o qual bancos de dados so construdos. 2. Processos so seqncias de passos que convertem entradas em sadas (ou dados em informao). Representam o como em um sistema de informao.
Banco de Dados 7
JEDITM
3. Rede descreve a localizao onde os dados so armazenados, onde os processos so realizados bem como a conexo entre as localidades. Representam o onde em um sistema de informao. Cada linha representa uma camada arquitetural na construo de sistemas de informao de uma organizao. Fornecem as 6 regras e perspectivas de cada camada. 1. Escopo do Negcio prov uma viso geral da estratgia dos sistemas de informao de uma organizao. Define o escopo, misso e direo do negcio e quais sistemas de informao lhes d suporte. Uma lista de entidades importantes, funes necessrias para que o sistema possa realizar aquilo que deve ser feito e identificar onde o negcio da empresa realizado. Os proprietrios do negcio so responsveis por definir o escopo, misso e direo do negcio 2. Modelo de Negcio desenvolve os modelos que representam o escopo do negcio, misses e direes que o negcio ir tomar. Nesta camada, as entidades do negcio e seus inter-relacionamentos so definidos. A decomposio de funes e processos so identificadas. definida as ligaes entre as localidades de negcios. O arquiteto do sistema de informao a pessoa que desenvolve estes modelos 3. Modelo do Sistema de Informao desenvolve o modelo da informao que d suporte ao negcio da organizao. Nesta camada, os dados e seus relacionamentos so modelados em detalhes. Os fluxos entre as aplicaes tambm so processados e definidos. A distribuio pela rede tambm identificada. O designer responsvel pelo desenvolvimento do modelo da informao 4. Modelo de Tecnologia converte o modelo do sistema de informao em um design que possa se adaptar s caractersticas e especificaes da tecnologia. O projeto de um banco de dados, especificao de processos e configuraes de rede so criados. O construtor desenvolve o design do sistema de informao 5. Definio da Tecnologia converte os modelos de tecnologia em declaraes para gerar o sistema de informao. O projeto do banco de dados traduzido em esquema e subesquemas do banco de dados . As especificaes de processo so codificadas como cdigos de programa e blocos de controle. Os projetos de configurao da rede so traduzidos em definio de configurao. O contratante traduz modelos de tecnologia em cdigos 6. Sistema de Informao gerencia, utilize e opera o sistema de informao como um todo. Neste ponto, os usurios do sistema utilizam os dados e informaes atravs de aplicativos especificados na configurao de sistema Para melhor utilizar este framework, duas regras simples so empregadas: 1. Cada processo mapeado para o dado que o utiliza. Ambos, dados e processos, so mapeados para as localizaes na rede ou objetos onde sero distribudos. Isto ajuda na garantia de que os vrios componentes sero integrados aos demais 2. A transformao de dados, processos e rede ocorrem simultaneamente de uma linha para a prxima. Esta regra evita inconsistncia e retrabalho Este curso ir se concentrar no COMPONENTE DE DADOS do framework da Arquitetura do Sistema de Informao (ISA) na construo de um banco de dados.
JEDITM
juntamente com um conjunto de objetos de design que so manipulados para auxiliar o processo. Deve fornecer regras para ajudar a garantir que um conjunto consistente de padres e procedimentos sero utilizados durante todo o processo de desenvolvimento e o sistema resultante se adequar aos objetivos especificados. Uma variedade de ferramentas de modelagem, manuais ou automatizadas, so necessrias para auxiliar no desenvolvimento do sistema de informao. 1. Engenharia de Software Auxiliada por Computador (CASE) So produtos de software que fornecem suporte automatizado para algumas partes do processo de desenvolvimento do sistema. 2. CASE Integrado (I-CASE) Conjunto de ferramentas CASE que podem dar suporte a todas as fases do processo de desenvolvimento de um software. Engenharia da Informao uma metodologia formal que utilizada na criao e manuteno de sistemas de informao. um padro top-down que se inicia com os modelos de negcio. A partir destes modelos, os modelos de dados e modelos de processos so derivados e ento criado o modelo de negcio. Porque utilizar Engenharia da Informao? 1. Desenvolvido com uma viso baseado na empresa que permite que a organizao desenvolva um sistema de informao integrado 2. Baseado em dados ao invs de processos. Um modelo baseado em dados utiliza as seguintes etapas:
Identificao de entidades ou coisas que a organizao deve gerenciar Identificao de atributos, propriedades e caractersticas das entidades Identificao dos relacionamentos entre as entidades Identificao de regras de negcio que governam como as entidades so gerenciadas e utilizadas Desenvolver o aplicativo ou programa baseado em como os dados esto sendo gerenciados e utilizados
Identificao e anlise dos processos organizacionais Modelagem dos fluxos de dados entre os processos Especificao das entradas e sadas de dados Especificao da lgica necessria para converter dados de entrada em dados de sada Design dos arquivos de dados Designers de Sistemas descobriram que um equilbrio entre modelo baseado em dados e modelo baseado em processos so normalmente o mais apropriado.
3. compatvel com o framework ISA A Metodologia da Engenharia de Informao dividida em fases que podem ser mapeadas para o framework ISA. So normalmente chamadas de: fase de planejamento, fase de anlise, fase de projeto e fase de implementao.
Unidades
da
organizao
que
consistem
de
vrios
departamentos
ou
9
outros
Banco de Dados
JEDITM
componentes da organizao Localizaes que mostrem os componentes organizacionais em mais de um nico lugar Funes de negcio relacionados a grupos de processos de negcio que do suporte a alguns aspectos da misso da empresa e que no so os mesmos da unidade organizacional Tipos de entidades 3. Desenvolver os modelos da empresa utilizando as tcnicas e ferramentas de modelagem a seguir:
Tcnica de decomposio funcional que consiste na quebra das funes de uma organizao em busca de nveis de detalhes cada vez maiores, utilizando o Diagrama de Fluxo de Dados para modelar as funes ou processos Tcnica de anlise situacional que consiste no processo de anlise e identificao de entidades que representam os dados importantes para a organizao e o Diagrama de Entidade e Relacionamento utilizado para modelar a estrutura dos dados Matriz de planejamento para vincular as funes identificadas na decomposio funcional com s entidades com o propsito de identificar rfos. Por exemplo, identifica quais funes no fazem uso de nenhuma entidade ou entidades que no so utilizadas por nenhuma funo
Organizational Units:
1. 2. 3. 4. Sales Department Accounting Department Financial Department Business Centers
Business Functions:
1. 2. 3. Inventory of e-Prepaid Cards Accounting of all financial transaction Sales monitoring of e-Prepaid Cards
A fase de planejamento gera vnculos com a camada de Escopo do Negcio do framework ISA.
Banco de Dados
10
JEDITM
4. No sobrepe outras reas do negcio. Dois modelos so desenvolvidos nesta fase. Particularmente, so o modelo conceitual e o modelo de processo. Passos para a Fase de Anlise: 1. Desenvolvimento do Modelo Conceitual O Modelo Conceitual um modelo detalhado que captura as estruturas de dados utilizadas pela organizao enquanto independentes de qualquer sistema gerenciador de banco de dados ou outra implementao. Inclui entidades relevantes, relacionamentos e atributos bem como regras de negcio e regras internas que definem como os dados so utilizados pela organizao. O modelo conceitual utiliza o Diagrama Entidade-Relacionamento (DER) ou diagramas orientados a objetos para modelar os dados. Um exemplo de modelo conceitual mostrado na seguinte figura:
ACCOUNT has PHONE CARD TRANSACTION
has
PHONE CARD
uses
provided by
SERVICE PROVIDER
Figura 2: Modelo conceitual de transao de carto telefnico
2. Desenvolvimento do Modelo de Processos O Modelo de Processos fornece uma descrio lgica dos processos executados pelas funes da organizao e os fluxos de dados entre os processos. Em um negcio, um processo definido por um conjunto lgico de tarefas realizadas repetidamente para auxiliar em um ou mais funes do negcio. Transforma dados de entrada em dados de sada e tem limites definidos. Dois tipos bsicos de processos existem em um negcio. Processos Fsicos que convertem dados de entrada em dados de sada, e Processos de Informao que convertem dados em informao. Para identificar um processo em um negcio, a Tcnica de Decomposio de Processos utilizada. Consiste na identificao de processos pela decomposio de funes do negcio identificadas durante a fase de planejamento em seus componentes ou funes auxiliares. A ferramenta de modelagem utilizada para representar processos o Diagrama de Fluxo de Dados (DFD). Este um modelo grfico para o fluxo de dados utilizados por um processo. Apresenta os agentes externos que fornecem ou recebem os dados, os processos que transformam os dados e o armazenamento de dados onde dados so coletados e mantidos. A fonte dos dados em um DFD corresponde aos nomes das entidades no DER. Um modelo de DFD mostrado na seguinte figura:
Banco de Dados
11
JEDITM
CUSTOMER
Success or Fail
Account Info
Account Info
A!
Account List
New PIN
Account Balance
CUSTOMER
Account Name, Password Figura 3: DFD Nvel 0 Servio de Requisio do Sistema de Mensagem
A fase de analise est relacionada com as camadas Modelo do Negcio e Modelo do Sistema de Informao do framework ISA.
Projeto Lgico do Banco de Dados que mapeia o Modelo Conceitual desenvolvido na anlise das estruturas especficas do SGBD. A figura 4 mostra um trecho de um projeto lgico de banco de dados. Projeto Fsico do Banco de Dados o mapeamento das estruturas do Projeto Lgico do Banco de Dados para estruturas de armazenamento fsico, tais como, arquivos e entidades. ndices tambm so especificados assim como mtodos de acesso e outros
12
Banco de Dados
JEDITM
fatores fsicos. O objetivo principal de se ter o design fsico do banco de dados fornecer performance adequada para usurios de aplicaes em termos de tempo de resposta, taxas de transferncia, entre outros. Cpias de segurana e sua restaurao so considerados no Projeto Fsico. ACCOUNT CellPhoneNo 09192345678 09174561234 09205467234 09165647342 STATUS CODE ACT BAR TER TYPE CODE 1 2 DESCRIPTION Dealer Account Direct Reseller DESCRIPTION Active Account Barred Account Terminated Account PIN 1234 2345 4523 7812 Balance $500,00 $100,00 $25.000,00 $30.000,00 Limit $2.500,00 $2.000,00 $300.000,00 $300.000,00 Status ACT ACT ACT ACT Type 2 2 1 1
PHONECARDTRANSACTION CELLPHONENO 09205467234 09205467234 CARDNO 2346253782 8736237634 LOADDATE DEC-24-2006 DEC-24-2006 RECIPIENT 9223456173 9178746345
2. Desenvolvimento do Projeto de Processo. O propsito desse passo especificar a lgica de cada um dos processos e incluir todas as referncias para as entidades relevantes. Existem dois subpassos para o Projeto de Processo:
Especificar a lgica detalhada de cada processo Desenhar interfaces de usurios que podem ser: menus, formulrios e relatrios, entre outros
A figura 5 um exemplo da especificao de um Projeto de Processo. O trecho da especificao com fonte vermelha deve ser tratado como uma transao.
Banco de Dados
13
JEDITM
Project Name: e-Lagyan Distribution System Company: Lagyan Cards Incorporated Process Specifications: Phone Card Service Request INPUT: PAccountNo, PBalance, VFirstCellNo, VSecondCellNo, VService, VDenomination IF PBalance < VDenomination THEN MESSAGE "Insufficient Balance" Terminate Transaction ELSE SELECT InventoryCount INTO PCount FROM CellCardSupply WHERE Code IN (SELECT Code FROM CellCardType WHERE Denomination = VDenomination AND SPID = VService) IF (PCount < 0) THEN MESSAGE "No Card Available" TO VFirstCellNo ELSE SELECT FirstAvailableSerialNo, PIN, CardType INTO PSerialNo, PPIN, PCardType FROM CellCard WHERE CardType IN (SELECT Code FROM CellCardType WHERE SPID = VService AND Denomination = VDenomination) AND Status = "VALID" or "UNSOLD" IF VSecondCellNo <> NULL THEN INSERT INTO CellCardTrans VALUES (PAccountNo, PSerialNo, SYSDate, VSecondCellNo) ELSE INSERT INTO CellCardTrans VALUES (PAccountNo, PSerialNo, SYSDate, VFirstCellNo) ENDIF UPDATE Account SET Balance = Balance Denomination WHERE AccountNo = PAccountNo UPDATE CellCardSupply SET Count = Count 1 WHERE Code = PCardType UPDATE CellCard SET Status = 'Invalid' or 'Sold' WHERE SerialNo = PSerialNo IF VSecondCellNo <> NULL THEN SEND PPIN to VSecondCellNo ELSE SEND PPIN to VFirstCellNo ENDIF ENDIF ENDIF
Figura 5: Especificao do Projeto de Processo dos cartes telefnicos e-Prepaid
Banco de Dados
14
JEDITM
facilidades de importao que carreguem o banco de dados utilizando arquivos, e facilidades de exportao que descarregam o banco para arquivos. facilidades de monitoramento da utilizao e operao do banco de dados
1 Codd E. F. The 1981 ACM Turing Award Lecture: Relational Database: A Practical Foundation for Productivity. Comm. ACM, 25(2), 109-117
Banco de Dados
15
JEDITM
anlises de performance e estatsticas de utilizao facilidades para reorganizao de ndices e suas sobrecargas garbage collection e realocao para remover fisicamente os registros eliminados para consolidar o espao liberado e realoc-lo quando houver necessidade
Processador de Consultas. considerado um dos principais componentes do SGBD. Transforma consultas em uma srie de instrues de baixo-nvel que so direcionadas ao software gerenciador do banco de dados Gerenciador de Banco de Dados. Interage com aplicaes e consultas enviadas pelo usurio. Aceita consultas e examina esquemas externos e conceituais para determinar quais registros conceituais so requeridos para satisfazer uma consulta. Chama o gerenciador de arquivos para atender requisio. Possui os seguintes componentes:
Controle de Autorizao. Verifica se o usurio possui a autorizao necessria para executar a operao requerida Processador de Comandos. Responsvel por controlar a operao quando se sabe que o usurio possui a autorizao necessria Validador de Integridade. Verifica se a operao requisitada satisfaz as restries de integridade necessrias (como as restries de chaves) Otimizador de Consultas. Determina a estratgia para execuo otimizada de consultas Gerenciador de Transaes. Executa o processamento das operaes requeridas. Recebe as validaes de integridade das transaes Agendador. Garante que operaes concorrentes no banco de dados procedam sem conflitos entre si. Controla a ordem relativa em que as transaes so executadas Gerenciador de Recuperao. Garante que o banco de dados permanea num estado consistente quando uma falha ocorrer (como violao de restries). responsvel por confirmar ou abortar um transao Gerente de Buffer. responsvel por transferir dados entre a memria principal e o disco
Gerenciador de Arquivos. Manipula os arquivos internos de armazenamento e gerencia a alocao de espao em disco. No responsvel por gerenciar diretamente entradas e sadas de dados. Ao contrrio, passa a requisio para o mtodo de acesso apropriado Processador DML. Converte as instrues da Linguagem de Manipulao de Dados encontradas nas aplicaes em chamadas de funes do banco de dados. Interage com o processador de consultas para gerar o cdigo apropriado. Compilador DDL. Converte as instrues da Linguagem de Definio dos Dados em um conjunto de tabelas que contm os meta-dados. As tabelas so armazenadas no catlogo de sistema enquanto que informaes de controle so armazenadas no cabealho dos arquivos de dados Gerenciador de Catlogo. Gerencia acesso e mantm os catlogos de sistema
Codd E. F. (1982) The 1981 ACM Turing Award Lecture: Relational Database: A Practical Foundation for Productivity. Comm. ACM, 25(2), 109-117
Banco de Dados
16
JEDITM
Query Processor
Catalog Manager
Authorization Control
Integrity Checker
Command Processor
Query Optimizer
Transaction Manager
Scheduler
Buffer Manager
Recovery Manager
Access Methods
File Manager
System Buffer
Banco de Dados
17
JEDITM
Instituto CTS Patrocinador do DFJUG. Sun Microsystems Fornecimento de servidor de dados para o armazenamento dos vdeo-aulas. Java Research and Development Center da Universidade das Filipinas Criador da Iniciativa JEDITM. DFJUG Detentor dos direitos do JEDITM nos pases de lngua portuguesa. Politec Suporte e apoio financeiro e logstico a todo o processo. Instituto Gaudium Fornecimento da sua infra-estrutura de hardware de seus servidores para que os milhares de alunos possam acessar o material do curso simultaneamente.
Banco de Dados
18