Files
bibliotecaver-1.0-misturado…/CodeWindows/akio.php

215 lines
12 KiB
PHP

<?php
$books = [
'bdd' => [
'title' => 'Banco de dados',
'prefacio' => <<<EOT
>Prefácio da quarta edição
A razão de ser do novo capítulo agregado nesta quarta edição justifica-se, como sempre pediram os leitores, como o que
faltava para completar o conhecimento e como implementar os bancos de dados nas empresas.
Conforme vão sendo criadas aplicações corporativas, criam-se também grupos de informações necessárias a cada área de
negócio, bem como outros modelos paralelos são criados a partir do surgimento das técnicas de Data Warehouse.
Independentemente do estilo da empresa, as mudanças no contexto de negócio surgem de forma constante e muitas vezes sem
previsibilidade. Mesmo assim, tais mudanças são conduzidas nas áreas de Tecnologia da Informação (TI) das corporações,
de modo a satisfazer as necessidades do negócio a partir da construção ou da manutenção das aplicações.
A Administração de Dados é responsável por desenvolver e gerenciar de modo centralizado as estratégias, os procedimentos
e as práticas para o processo de gerência dos recursos de dados e aplicativos, incluindo planos para sua definição,
padronização, organização, proteção e utilização. Segundo o Data Management Body of Knowledge (DMBOK - em português,
Corpo de Conhecimento em Gerenciamento de Dados), a Administração de Dados, conhecida como Desenvolvimento de Dados,
visa projetar, implementar e manter soluções para atender às necessidades de dados da organização.
Com o Capítulo 15, realizamos o fechamento do contexto de projeto e implementação de bancos de dados, com a apresentação
da última atividade do ciclo de desenvolvimento de bancos de dados, que visa garantir a integridade corporativa e manter
a consistência dos dados de uma organização.
A Administração de Dados, por vezes implantada nas empresas de maneira centralizada, deve prezar, além de garantir o uso
de padrões na modelagem dos sistemas, pela aderência dos modelos de dados das aplicações com o modelo de dados
corporativo, que rege e disponibiliza as principais fontes de dados para a implementação e a integração das aplicações da
corporação. Essa responsabilidade deve ser aplicada em todas as frentes de desenvolvimento, o que muitas vezes afeta o
planejamento das entregas de manutenção dos modelos e faz com que isso se torne uma tarefa extremamente crítica e comple-
xa de ser gerenciada. Essa complexdade torna as liberações dos artefatos de manipulação dos objetos de banco de dados
uma arte no planejamento e no controle das versões dos modelos X entregas das aplicações.
Além de garantir que as mudanças nas aplicações sejam versionadas e atendam às necessidades das entregas de novos proje-
tos, a equipe de administradores de dados tende a se situar na empresa de maneira centralizada, pois, sem essa centra-
lização e sem uma governança adequada, os projetos e as manutenções de sustentação das aplicações incorrem sérios riscos
de conflitos nas versões.
Na condução do gerenciamento de desenvolvimento de sistemas que prezam pela centralização de administração de dados, o im-
portante é o bom senso no planejamento das entregas de projetos com amnutenções de sistemas que afetem as estruturas de
base de dados. Esse bom senso é adquirido ao se envolver constantemente o Administrador de Dados no planejamento e na exe-
cução dos processos de desenvolvimento das aplicações.
--->
Esperamos que o capítulo novo e complementar aumente ainda mais a capacitação do nosso leitor em análise, projeto e imple-
mentações de banco de dados e suas respoectivas aplicações sistêmicas, pois aqui apresentaremos os papéis de cada pro-
fissional, as técnicas utilizadas na gestão de modelos de dados (banco de dados) e como funciona a gestão de dados pelos
Administratores de Dados (ADs), distinguindo-se as atividades destes das atividades dos Administradores de Banco de Dados
(DBAs), funções diferentes, com responsabilidades diferentes, muitas vezes confundidads como sendo uma só.
O Autor --->
EOT,
'chapters' => [
'1' => [
'title' => 'Projeto de Banco de Dados',
'content' => <<<EOT
>=Projeto de Banco de Dados<=
> Durante muito tempo, criou-se a ideia de que projetar bancos de dados era uma disciplina com identidade própria, uma
atividade específica e, até certo ponto, isolada no ciclo de vida de um sistema, que tinha existência própria e podia
ser realizada a partir de primitivas e conceitos exclusivos da técnica de modelagem de dados.
Com a evolução das tecnologias de desenvolvimento de aplicações, novas linguagens e, principalmente com o advento da
orientação a objetos (OO), não mais restrita ao ambiente de programação, mas extensiva às metodologias de análise de
sistemas, o trabalho de projetar as bases de dados que serão utilizadas por um sistema em desenvolvimento assume, nos
dias de hoje, caracteristicas que objetivam mixar um projeto orientado a objetos com as necessidades de esse mesmo
sistema interagir com um banco de dados relacional, constituído por um conjunto de tabelas, que equivale à camada de
persistência de dados.
Essa necessidade de mixagem é real pela ausência absoluta de projetos comerciais que utilizam bancos de dados orien-
tados a objetos que sejam confiáveis a grandes massas de dados, à não popularização desses produtos e aos grandes
investimentos já realizados em softwares de Sistemas Gerenciadores de Bancos de Dados Relacionais existentes no
mercado nacional e internacional,
É incontestável a vantagem obtida em um projeto orientado a objetos. Logo, surge a necessidade de uma nova técnica de
projetar banco de dados, que não é a formatação pura de classes de dados, mas uma interação alta entre o ambiente de
análise orientada a objetos e a modelagem de dados, que é estritamente necessária à administração de dados da organi-
zação de Tecnologia da Informação (TI). A utilização de ferramentas para a camada de persistência, como o
Hybernatem acaba fazendo com que o desenvolvedor deixe de lado a preocupação com as estruturas do banco de dados, bem
como a preocupação com a qualidade das queries realizadas em uma aplicação.
Não existem técnicas ou ferramentas quepossibilitem tanto ao Administrador de Dados (DA) quanto ao Administrador de
Banco de Dados (DBA) realizarem suas funções sobre classes de dados, pois esses mesmos banco de dados relacionais
atuam e têm todas as suas funcionalidades sobre tabelas relacionais de dados, as quais são hoje de dominio maior dos
usuários de aplicações.
Há muito tempo escreve-se sobre modelagem de dados e o processo continua existindo como sempre existiu, porém, oque
desejamos neste livro é apresentar essas técnicas integradas à análise orientada a objetos, de modo a permitir que
quem trabalha tanto com OO (orientação a objetos) quanto com análise estruturada tenha domínio de projetos de
banco de dados eficientes a uma aplicação, seja qual for o ambiente de desenvolvimento em que esteja. Busca-se ainda
permitir que um projeto totalmente desenvolvido em OO (orientação a objetos) seja facilmente inserido em um ambiente
de banco de dados relacional, com o mínimo de traumas, e que seja mantida a coerência com os objetos de negócios de
uma organização.
EOT
]
]
],
'cde' => [
'title' => 'Engenharia eletronica',
'content' => <<<EOT
-Modulação e deteção-
Para que os sinais de rádio tenham uso prático, devem transportar informação. Está é aplica-
da ao sinal de rádio na parte final do sistema que a produz (transmissor) e é extraída e
utilizada no extremo que a recebe (receptor).
EOT
]
];
$selected_book = isset($_GET['livro']) ? $_GET['livro'] : null;
$selected_chapter = isset($_GET['capitulo']) ? $_GET['capitulo'] : null;
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Biblioteca Digital</title>
<style>
body {
font-family: sans-serif;
line-height: 1.6;
margin: 0;
padding: 20px;
background-color: #f4f4f4;
}
.container {
max-width: 800px;
margin: auto;
background: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
h1, h2 {
text-align: center;
}
.buttons {
text-align: center;
margin-bottom: 20px;
}
a.button {
display: inline-block;
background-color: #333;
color: #fff;
border: none;
padding: 10px 20px;
margin: 5px;
border-radius: 5px;
cursor: pointer;
text-decoration: none;
}
a.button:hover {
background-color: #555;
}
pre {
white-space: pre-wrap;
word-wrap: break-word;
background-color: #eee;
padding: 15px;
border-radius: 5px;
}
</style>
</head>
<body>
<div class="container">
<h1><a href="./akio.php">BIBLIOTECA</a></h1>
<?php if (!$selected_book): ?>
<div class="buttons">
<p>Para acessar o livro que queira ler, clique em um dos botões abaixo:</p>
<a href="?livro=bdd" class="button">Livro: Banco de Dados</a>
<a href="?livro=cde" class="button">Livro: Curso de Eletrônica</a>
</div>
<?php else: ?>
<?php if (isset($books[$selected_book])): ?>
<h2><?php echo $books[$selected_book]['title']; ?></h2>
<?php if ($selected_chapter && isset($books[$selected_book]['chapters'][$selected_chapter])): ?>
<h3>Capítulo <?php echo $selected_chapter; ?>: <?php echo $books[$selected_book]['chapters'][$selected_chapter]['title']; ?></h3>
<pre><?php echo $books[$selected_book]['chapters'][$selected_chapter]['content']; ?></pre>
<a href="?livro=<?php echo $selected_book; ?>">&laquo; Voltar para o prefácio</a>
<?php else: ?>
<?php if (isset($books[$selected_book]['prefacio'])): ?>
<pre><?php echo $books[$selected_book]['prefacio']; ?></pre>
<?php endif; ?>
<?php if (isset($books[$selected_book]['content'])): ?>
<pre><?php echo $books[$selected_book]['content']; ?></pre>
<?php endif; ?>
<?php if (isset($books[$selected_book]['chapters'])): ?>
<div class="buttons">
<h3>Capítulos:</h3>
<?php foreach ($books[$selected_book]['chapters'] as $chap_num => $chap_data): ?>
<a href="?livro=<?php echo $selected_book; ?>&capitulo=<?php echo $chap_num; ?>" class="button"><?php echo $chap_data['title']; ?></a>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php endif; ?>
<?php else: ?>
<p>Livro não encontrado.</p>
<?php endif; ?>
<?php endif; ?>
</div>
</body>
</html>