The Database Management System (DBMS) · O Sistema de Gerenciamento de Banco de Dados (DBMS)
| English | Português |
|---|---|
| DBMS/ˌdiː biː em ˈes/ | SGBD |
| view/vjuː/ | visualização |
| backup/ˈbækʌp/ | backup |
| data management/ˈdeɪtə ˈmænɪdʒmənt/ | gestão de dados |
| data dictionary/ˈdeɪtə ˈdɪkʃənəri/ | dicionário de dados |
| data modelling/ˈdeɪtə ˈmɒdəlɪŋ/ | modelagem de dados |
| logical schema/ˈlɒdʒɪkl ˈskiːmə/ | esquema lógico |
| data integrity/ˈdeɪtə ɪnˈteɡrɪti/ | integridade de dados |
| data security/ˈdeɪtə sɪˈkjʊərɪti/ | segurança de dados |
| transaction/trænˈsækʃn/ | transação |
| concurrent access/kənˈkʌrənt ˈækses/ | acesso concorrente |
| concurrency control/kənˈkʌrənsi kənˈtrəʊl/ | controle de concorrência |
| developer interface/dɪˈveləpə ˈɪntəfeɪs/ | interface do desenvolvedor |
| query processor/ˈkwɪərɪ ˈprəʊsesə/ | processador de consultas |
Two people, one seat
- In 1960 American Airlines switched on Sabre, the first computer reservation system. Agents in dozens of cities could sell seats on the same flight at the same moment, and the system's one job that mattered was that no seat was ever sold twice.
- A shared file cannot do that: two programs read "seat 14C free", both write "sold", and two passengers arrive at the gate. Something has to sit between every program and the data and referee.
- That referee is the DBMS 数据库管理系统. Every feature in this lesson is a thing the flat files could not do: describe themselves, keep every user's view consistent, enforce the rules, survive a crash, and let one team build applications while another asks questions.
- This lesson is the features the syllabus names and the two software tools it asks you to describe.
Duas pessoas, um assento
- Em 1960, a American Airlines ativou o Sabre, o primeiro sistema de reservas computadorizado. Agentes em dezenas de cidades podiam vender assentos no mesmo voo ao mesmo tempo, e a única tarefa crucial do sistema era garantir que nenhum assento fosse vendido duas vezes.
- Um arquivo compartilhado não consegue fazer isso: dois programas leem "assento 14C livre", ambos escrevem "vendido", e dois passageiros chegam ao portão. Algo precisa ficar entre cada programa e os dados e atuar como árbitro.
- Esse árbitro é o SGBD 数据库管理系统. Cada recurso nesta lição é algo que arquivos planos não conseguem fazer: autodescrever-se, manter a consistência da visão de cada usuário, aplicar as regras, sobreviver a travamentos e permitir que uma equipe construa aplicativos enquanto outra faz consultas.
- Esta lição aborda os recursos mencionados pelo currículo e as duas ferramentas de software solicitadas para descrever.
What a DBMS is
- A database management system is the software that manages the database centrally. Every program and every user reaches the data only through it.
- It answers each file-based limitation: one copy of each fact, so no redundancy or inconsistency; data independence, so programs are not tied to the storage; central integrity, security, backup and access for many users at once.
- The syllabus names five features and two tools. Learn each one as a thing the DBMS does.
O que é um SGBD
- Um sistema de gerenciamento de banco de dados é o software que gerencia a base de dados centralmente. Todo programa e todo usuário acessam os dados apenas através dele.
- Ele responde a cada limitação baseada em arquivos: uma cópia de cada fato, evitando redundância e inconsistência; independência de dados, para que programas não fiquem presos ao armazenamento; integridade, segurança, backup e acesso centralizados para múltiplos usuários simultaneamente.
- O currículo cita cinco recursos e duas ferramentas. Aprenda cada um como algo que o SGBCD faz.
Database service lab · Laboratório de serviço de banco de dados
Watch how a DBMS turns a query into safe shared data access. · Assista como um DBMS transforma uma consulta em acesso seguro e compartilhado aos dados.
Match each DBMS service to what it does. · Associe cada serviço do DBMS à sua função.
A DBMS bundles these services so programs never touch the raw files directly. · Um DBMS agrupa esses serviços para que programas nunca acessem os arquivos brutos diretamente.
Data management and the data dictionary
- Data management 数据管理 is the DBMS controlling how the data is stored, organised, retrieved and updated, so that programs never touch the files directly.
- It maintains a data dictionary 数据字典: a description of every table, field, data type, key, relationship and constraint, plus who may access what. It is data about the data.
- Programs query the dictionary instead of hard-coding the structure, so a change to a table does not break them. It is also what the DBMS checks when it validates a new record.
Gerenciamento de dados e o dicionário de dados
- Gerenciamento de dados 数据管理 é o SGBD controlando como os dados são armazenados, organizados, recuperados e atualizados, para que programas nunca toquem nos arquivos diretamente.
- Mantém um dicionário de dados 数据字典: uma descrição de cada tabela, campo, tipo de dado, chave, relacionamento e restrição, além de quem pode acessar o quê. É dados sobre os dados.
- Programas consultam o dicionário em vez de codificar a estrutura fixamente, então uma alteração em uma tabela não os quebra. É também o que o SGBD verifica ao validar um novo registro.
A data dictionary in a DBMS holds: · Um dicionário de dados em um DBMS armazena:
The data dictionary describes the database structure, so programs query it rather than hard-coding the layout. · O dicionário de dados descreve a estrutura do banco de dados, permitindo que programas o consultem em vez de codificar o layout manualmente.
Data modelling and the logical schema
- Data modelling 数据建模 is defining the structure of the data: the entities, their attributes, the keys and the relationships, as in an E-R diagram.
- The result is the logical schema 逻辑模式: the overall logical design of the database, its tables and relationships, described independently of how the bytes are stored on disk.
- Because the logical schema is separate from the physical storage, the storage can be reorganised, indexed or moved and the programs still see the same tables.
The programs see tables; the DBMS sees disks
Modelagem de dados e o esquema lógico
- Modelagem de dados 数据建模 é definir a estrutura dos dados: as entidades, seus atributos, as chaves e os relacionamentos, como em um diagrama E-R.
- O resultado é o esquema lógico 逻辑模式: o design lógico geral da base de dados, suas tabelas e relacionamentos, descrito independentemente de como os bytes são armazenados em disco.
- Como o esquema lógico é separado do armazenamento físico, este pode ser reorganizado, indexado ou movido e os programas ainda veem as mesmas tabelas.

Os programas veem tabelas; o SGBD vê discos
The logical schema of a database describes: · O esquema lógico de um banco de dados descreve:
The logical design is separate from the physical storage, which is what lets the storage change without the programs noticing. · O design lógico é separado do armazenamento físico, o que permite alterar o armazenamento sem que os programas percebam.
Data integrity and data security
- Data integrity 数据完整性: the DBMS keeps the data correct and consistent by enforcing the rules centrally: primary keys unique and not null, referential integrity on every foreign key, data types, and validation constraints such as a range or a value from a list.
- Data security 数据安全: the DBMS controls who may see and change what. Access rights are given to individual users or to groups, table by table, as read-only, read and write, or no access; passwords authenticate each user; stored data can be encrypted.
- Security also means backup 备份 procedures: regular copies of the database, with a log of changes since, so the data can be recovered after a failure.
Integridade e segurança dos dados
- Integridade dos dados 数据完整性: o SGBD mantém os dados corretos e consistentes aplicando regras centralmente: chaves primárias únicas e não nulas, integridade referencial em todas as chaves estrangeiras, tipos de dados e restrições de validação como faixa ou valor de uma lista.
- Segurança dos dados 数据安全: o SGBD controla quem pode ver e alterar o quê. Direitos de acesso são atribuídos a usuários individuais ou grupos, tabela por tabela, como leitura apenas, leitura e escrita, ou sem acesso; senhas autenticam cada usuário; os dados armazenados podem ser criptografados.
- Segurança também significa procedimentos de backup 备份: cópias regulares do banco de dados, com um registro de alterações desde a última cópia, para que os dados possam ser recuperados após uma falha.
Which are data-security features of a DBMS? Select all · todos that apply. · Quais são recursos de segurança de dados de um DBMS? Selecione todas as opções aplicáveis.
Who may access, and recovery after loss, are security. Normalisation is a design step against redundancy. · Quem pode acessar e recuperação após perda são segurança. Normalização é uma etapa de projeto contra redundância.
Worked example: how the DBMS keeps the data secure
- Describe how a DBMS provides data security. [4]
- Each user has an account and password, so only authorised people log in. The administrator gives each user or group access rights to each table: a clerk may read the prices but not change them; a customer cannot see the staff table at all. A view can present a user with only the fields they need.
- The DBMS runs backup procedures: a regular copy of the database to a separate medium, with a log of transactions since the copy, so a failure or an attack loses no data.
- Security is about who may access; integrity is about the data being correct. Keep them apart when the question names one.
Exemplo resolvido: como o SGBD mantém os dados seguros
- Descreva como um SGBD fornece segurança aos dados. [4]
- Cada usuário tem uma conta e senha, então apenas pessoas autorizadas fazem login. O administrador concede a cada usuário ou grupo direitos de acesso a cada tabela: um funcionário pode ler os preços, mas não alterá-los; um cliente não pode ver a tabela de funcionários. Uma visão pode apresentar a um usuário apenas os campos que ele precisa.
- O SGBD executa procedimentos de backup: uma cópia regular do banco de dados para um meio separado, com um registro de transações desde a cópia, para que nenhuma perda de dados ocorra devido a uma falha ou ataque.
- Segurança trata-se de quem pode acessar; integridade trata-se dos dados estarem corretos. Mantenha-os separados quando a questão nomear um deles.
Many users at once
- Concurrent access 并发访问: many users work on the database at the same time. Concurrency control 并发控制 uses locks so two users cannot update the same record at once and corrupt it: the second waits until the first has finished.
- A transaction 事务 is a group of operations that either all succeed or all fail, so a crash halfway through a transfer never leaves money missing from both accounts.
- A view 视图 is a virtual table, built from a query, that shows each user only their slice of the data.
Muitos usuários ao mesmo tempo
- Acesso concorrente 并发访问: muitos usuários trabalham no banco de dados ao mesmo tempo. Controle de concorrência 并发控制 usa bloqueios (locks) para que dois usuários não atualizem o mesmo registro ao mesmo tempo e o corrompam: o segundo espera até o primeiro terminar.
- Uma transação 事务 é um grupo de operações que ou todas têm sucesso ou todas falham, para que uma falha durante uma transferência nunca deixe dinheiro faltando em ambas as contas.
- Uma visão 视图 é uma tabela virtual, construída a partir de uma consulta, que mostra a cada usuário apenas sua fatia dos dados.
A database transaction is: · Uma transação de banco de dados é:
Transactions are all-or-nothing, so the database is never left half-updated. · Transações são tudo-ou-nada, para que o banco de dados nunca fique parcialmente atualizado.
Concurrency control (locking) is needed so that: · O controle de concorrência (bloqueio) é necessário para que:
Locks stop two simultaneous updates from clashing and corrupting shared data. · Trancas impedem que duas atualizações simultâneas colidam e corrompam dados compartilhados.
A transaction is all-or-nothing: it either fully completes (commit) or fully undoes itself (rollback), so the database is never left half-updated. · Uma transação é tudo ou nada: ela ou se completa totalmente (commit) ou desfaz completamente (rollback), para que o banco de dados nunca fique parcialmente atualizado.
This atomicity is why a bank transfer can never debit one account without crediting the other. · É essa atomicidade que impede que uma transferência bancária debite uma conta sem creditar a outra.
A virtual table (often a saved query) that shows a user only their relevant slice of the data is called a ______. · Uma tabela virtual (geralmente uma consulta salva) que mostra ao usuário apenas sua fatia relevante dos dados é chamada de ______.
A view presents a tailored, often restricted, slice of the data without copying it. · Uma visualização apresenta uma fatia personalizada, geralmente restrita, dos dados sem copiá-los.
Put the events of two users updating the same record under concurrency control in order. · Coloque os eventos de dois usuários atualizando o mesmo registro sob controle de concorrência em ordem.
The lock serialises the two updates so neither overwrites the other's change. · A tranca serializa as duas atualizações para que nenhuma sobrescreva a alteração da outra.
The software tools
- The developer interface 开发者接口 is the set of tools and programming interfaces for building applications on the database: a form builder for data entry, a report generator, a query builder, an SQL editor, a data-dictionary editor, and APIs that let a program in Python or Java send SQL and receive results.
- The query processor 查询处理器 takes a query written in SQL, checks it against the data dictionary, works out the most efficient way to run it, executes it and returns the result set.
- The user who types a query and the programmer who builds the booking form are both using the DBMS; one through the query processor, the other through the developer interface.
As ferramentas de software
- A interface do desenvolvedor 开发者接口 é o conjunto de ferramentas e interfaces de programação para construir aplicativos no banco de dados: um construtor de formulários para entrada de dados, um gerador de relatórios, um construtor de consultas, um editor SQL, um editor de dicionário de dados e APIs que permitem que um programa em Python ou Java envie SQL e receba resultados.
- O processador de consultas 查询处理器 pega uma consulta escrita em SQL, verifica-a contra o dicionário de dados, determina a maneira mais eficiente de executá-la, executa-a e retorna o conjunto de resultados.
- O usuário que digita uma consulta e o programador que cria o formulário de reserva estão ambos usando o SGBD; um através do processador de consultas, o outro através da interface do desenvolvedor.
Match each DBMS component to its job. · Associe cada componente do SGBD à sua função.
Running queries, building applications, describing the structure, and the design itself: four different things the exam names separately. · Executar consultas, criar aplicativos, descrever a estrutura e o próprio design: quatro coisas diferentes que o exame nomeia separadamente.
Worked example: the two tools in use
- A shop's database is used by the manager, who needs sales totals, and by a programmer writing a stock-control application. Explain how the query processor and the developer interface are used.
- The manager writes or builds a query for the sales totals; the query processor parses it, uses the data dictionary to check the tables and fields exist, chooses the fastest way to run it, executes it and returns the results.
- The programmer uses the developer interface: the form and report builders to make the stock screens, and the API so the application's code can send SQL to the DBMS and receive the records back.
- Two marks each: what the tool is, and what this person does with it.
Exemplo resolvido: as duas ferramentas em uso
- O banco de dados de uma loja é usado pelo gerente, que precisa de totais de vendas, e por um programador escrevendo um aplicativo de controle de estoque. Explique como o processador de consultas e a interface do desenvolvedor são usados.
- O gerente escreve ou cria uma consulta para os totais de vendas; o processador de consultas a analisa, usa o dicionário de dados para verificar se as tabelas e campos existem, escolhe a maneira mais rápida de executá-la, executa-a e retorna os resultados.
- O programador usa a interface do desenvolvedor: os construtores de formulários e relatórios para criar as telas de estoque, e a API para que o código do aplicativo possa enviar SQL ao SGBD e receber os registros de volta.
- Duas marcas cada: o que é a ferramenta e o que essa pessoa faz com ela.
Marks that slip away
- The DBMS is the software, not the data. "The DBMS holds the customer records" is wrong; it manages them.
- The data dictionary holds data about the data: structures, types, keys, rights. Not the records themselves.
- The logical schema is the design independent of physical storage. Say that phrase.
- Security is who may access; integrity is the data being correct. Backup belongs to security.
Marcas que escapam
- O SGBD é o software, não os dados. "O SGBD armazena os registros de clientes" está errado; ele os gerencia.
- O dicionário de dados armazena dados sobre os dados: estruturas, tipos, chaves, direitos. Não os próprios registros.
- O esquema lógico é o projeto independente do armazenamento físico. Diga essa frase.
- Segurança é quem pode acessar; integridade é os dados estarem corretos. Backup pertence à segurança.
You've got it
- a DBMS is the software every program goes through: one copy of each fact, data independence, central rules
- data management with a data dictionary (data about the data) · data modelling producing the logical schema (the design independent of storage) · data integrity (rules enforced) · data security (access rights to users and groups, passwords, encryption, backups)
- concurrency control with locks, transactions that are all-or-nothing, views that show a user their slice
- tools: the developer interface for building applications, the query processor for running SQL
Entendeu?
- um SGBD é o software por onde todos os programas passam: uma cópia de cada fato, independência de dados, regras centrais
- gerenciamento de dados com um dicionário de dados (dados sobre os dados) · modelagem de dados produzindo o esquema lógico (o projeto independente do armazenamento) · integridade dos dados (regras aplicadas) · segurança dos dados (direitos de acesso a usuários e grupos, senhas, criptografia, backups)
- controle de concorrência com bloqueios, transações que são tudo-ou-nada, visões que mostram a um usuário sua fatia
- ferramentas: a interface do desenvolvedor para construir aplicativos, o processador de consultas para executar SQL