Projeto de banco de dados é um processo sequencial de adaptação do conhecimento e ferramentas disponíveis para representar e processar informações.
O escopo real, a tarefa específica, a descrição do fluxo de informações que chegam e as ideias gerais sobre o processo de processamento da informação são gradualmente somadas a uma certa ideia conceitual do que é um banco de dados em um caso particular e como para trabalhar com isso.
Banco de dados moderno
As relações relacionais estão no centro de qualquer modelo de informação. As soluções da Oracle são equivalentes ao MySQL em essência, mas são fundamentalmente diferentes em muitos aspectos. O design do banco de dados também é uma questão de segurança, volume de informações e responsabilidade pela integridade dos dados, mas isso é secundário à questão de projetar um banco de dados eficiente, confiável e fácil de usar.
As tabelas do Excel não são diferentes do Oracle e MySQL no contexto de estruturas retangulares (relacionais): colunas e linhas=uma célula na interseção do nome da coluna (campo) e índice de seleção (linha). Se você não levar em consideração a medida e a quantidade de trabalho manual, graças aos meios desenvolvidos de combinar células vertical e horizontalmente, o Excel está à frente até do Oracle!
Excel, de acordo com sua ideia básica, nunca "brilha" a dinâmica, a funcionalidade do Oracle, e não pode transferir algo de uma planilha para outra "de acordo com os resquícios". Aqui a Oracle é mais promissora, mas suas considerações sobre as questões de migrar grandes quantidades de informações e combinar posições formalizadas de várias fontes deixam muito a desejar. Aqui o MySQL é mais promissor: ele não define tarefas globais, mas faz seu trabalho perfeitamente.
As relações relacionais são ferramentas convenientes, práticas e bem estabelecidas, desde soluções privadas em nível Excel até volumes globais da Oracle, são usadas em todos os lugares, sob demanda e têm um futuro garantido de trabalho.
Um banco de dados moderno é formado por tabelas, linhas, colunas e índices cercados de funcionalidades completas, ferramentas adicionais desenvolvidas que levam em conta múltiplas operações, cargas pesadas e grandes volumes.
Conhecimento e experiência de sistemas modernos de gerenciamento de banco de dados (SGBD) levam em consideração não apenas as questões de confiabilidade, confiabilidade de dados, regulação de acesso e questões de segurança, mas também possibilitam rastrear influências externas negativas, analisar possíveis ataquese tenta prejudicar intencionalmente.
Um banco de dados moderno é uma base confiável para qualquer recurso da Web e aplicativo local, a capacidade de migrar informações, transformar e transferir dados, cruzar e combinar diferentes visualizações.
A única condição essencial: desenvolvedor altamente qualificado. Para realizar o projeto eficaz de bancos de dados relacionais está disponível para um especialista, e mais frequentemente para uma equipe de especialistas e especialistas na área de aplicação do problema que está sendo resolvido.
Escopo, possível solução e obstáculos
A informação circula por toda parte. Muitos projetos estão diretamente conectados à Internet, mas o fator de ter uma representação formal de dados aqui não é melhor do que o fator de incerteza ao criar um recurso da web para uma siderúrgica.
O desenvolvimento e o interesse massivo em lojas online não fornecem fundamentos e oportunidades para transferir a experiência de criar uma loja para criar outra. O fator segredo comercial cria muitos obstáculos à transferência de conhecimento, embora, na verdade, você deva separar a loja real das ferramentas de software criadas para esta loja.
Claro, o cliente pagou e o código do site é propriedade dele. Uma característica da modernidade: a transferência de conhecimentos e desenvolvimentos entre tarefas do mesmo tipo e áreas de aplicação relacionadas é impossível e isso é um problema.
Parsing é uma ampla gama de aplicações para sistemas de gerenciamento de banco de dados. Em primeiro lugar, é a digitalização de informações da Internet. É igualmente importante comparar as informações acumuladas embanco de dados e solicitações de visitantes da web.
A análise de palavras-chave também envolve a necessidade de formar uma solução ideal, mas o design do banco de dados no Access pode ser mais promissor do que no MS SQL Server ou Oracle.
A lista de fontes de informação pode ser dinâmica. A dinâmica pode ser inerente a tabelas de banco de dados de origem, nomes de campos de tabela e regras de chamada (consulta). Projetar bancos de dados relacionais de várias fontes claramente força você a projetar a partir dos dados de origem e não da organização ideal das informações coletadas.
Existem duas coisas inerentes a qualquer banco de dados:
- orientação ao conteúdo, algoritmo de geração de banco de dados dinâmico em prioridade;
- orientação a ser usada, a estrutura do banco de dados é mais importante e o algoritmo de uso da informação é baseado nela.
Em qualquer campo de aplicação existe um modelo formal do fluxo de informações de entrada, um modelo de armazenamento de informações - o projeto real do banco de dados e um modelo (algoritmo) para usar os dados.
Vários procedimentos e etapas de design
Os fundamentos do projeto de banco de dados geralmente se dividem em três estágios. Diferentes especialistas se referem às etapas do trabalho de maneiras diferentes, mas, na verdade, existem três posições:
- planejamento conceitual;
- design lógico;
- execução técnica.
A prática contribui para as tradições estabelecidas. Não importa quão complexo seja o escopo e o problema que está sendo resolvido. Sempre é preciso escolher o certoFerramentas. Por exemplo, você precisa coletar informações de visitantes de um recurso da Web, mas precisa compará-las com dados do MS SQL Server. O recurso da web está hospedado no FreeBSD (Internet, servidor Apache), e o MS SQL Server em outra cidade está disponível através da rede distribuída da empresa.
Nesta solução, primeiro você precisa resolver um problema específico: estabelecer a troca de dados com o servidor interno.
A execução técnica de uma tarefa comum necessariamente terá um impacto no estágio inicial: é raro que o design do banco de dados possa ser feito do zero. Mesmo com tecnologia comprovada de resolução de problemas, o escopo está evoluindo, sempre é necessário fazer algo diferente do que foi originalmente planejado.
Recentemente, muitos teóricos e praticantes operam com entidades como dados especiais. São abstrações que permitem descrever o modelo de informação na entrada, durante o processamento e no resultado final - o banco de dados.
Visualizações de dados e entidades
Design de banco de dados por meio de abstrações e entidades: a capacidade de criar uma imagem de informação, definir tipos de dados e relacionamentos entre eles.
Geralmente tal projeto de um modelo de banco de dados termina com um modelo gráfico, utilizando MS Visio ou ferramentas visuais do SGBD escolhido. O Access tem sua própria maneira de formar uma imagem de informação, o MySQL tem sua própria, e alguns sistemas de gerenciamento de conteúdo ocultam completamente o banco de dados, impondo um modelo de dados ao desenvolvedor por meio de suas próprias entidades -objetos da tarefa que está sendo resolvida.
Uma característica de muitos sistemas de gerenciamento de conteúdo (CMS) é que eles fazem uma "aplicação" para um nível de maior abstração ao descrever a área de informação do problema que está sendo resolvido. O banco de dados real está oculto, o CMS oferece ao desenvolvedor sua própria ideia da imagem informacional do mundo.
Como resultado, as etapas do projeto de banco de dados são reduzidas à observância dos requisitos fundamentais e à execução das etapas propostas pelos criadores de um determinado CMS. Não há nada de vergonhoso em usar as idéias de bancos de dados e seu design do Symfony ou Bitrix, Zend ou Yii, mas para o desenvolvedor é um "fardo".
Idealmente, as ferramentas de design de banco de dados devem ser selecionadas e aplicadas individualmente, sem opinião externa, mas com a aplicação de experiência e conhecimento.
Ideal para um desenvolvedor ser certificado pela Oracle, mas perfeitamente aceitável para as qualificações de um desenvolvedor que incluam insights sobre ideias de informações da Oracle e um conhecimento prático de aplicativos MySQL.
Em projetos complexos e processamento distribuído de informações, não só o banco de dados é importante, mas também as fontes de informação, ideias sobre as necessidades dos consumidores.
Etapas ou equipe: equilíbrio de prioridades
O requisito de consistência é da importância mais imediata. Os fundamentos do projeto de banco de dados também incluem faseamento do trabalho, monitoramento de resultados intermediários, repensar cada etapa concluída com base na execução do seguinte tipo de trabalho:
- sistemático;
- fase;
- feedback de qualquer ponto no tempo, até a posição inicial.
Estas disposições são abstratas, mas presentes em qualquer tecnologia teórica e prática para a criação de um banco de dados eficaz.
Nenhuma tecnologia se desenvolve sozinha, é impulsionada por pessoas. A qualificação da equipe de desenvolvimento é essencial. O modelo de informações do banco de dados não é apenas uma estrutura, mas também fluxos de informações.
O que é mais importante: belos gráficos na representação da estrutura do banco de dados ou uma descrição precisa dos fluxos de informações em dinâmica - uma questão não apenas da tarefa e escopo, mas também da opinião da equipe de desenvolvimento em dinâmica.
Pessoal é tudo, mas no contexto: o projeto conceitual de um banco de dados é tudo qualificação. Todas as pessoas são únicas e, no campo dos sistemas de informação, existem e se desenvolvem representações de pessoas específicas.
É importante construir uma equipe de desenvolvedores, não alguns passos míticos de design de banco de dados sugeridos por um especialista autorizado. A autoridade desse especialista foi formada com base em trabalhos específicos, em um momento específico. O trabalho precisa ser feito hoje, nova tarefa, equipamentos modernos, tecnologia nova, …
Possível reversão. Há Excel e Access e dados "abundantes" nesses formatos desde os tempos antigos, quando o Windows for Workgoups ainda estava vivo e bem. Parcialmente permaneceram dados dBase e Quattro. Hoje essas palavras já foram esquecidas, mas a informaçãopermaneceu, está em demanda e precisa ser extraído e formado novas ideias.
Antigo e novo: equilíbrio do conhecimento
A tecnologia em nuvem não é como os bancos de dados que Ashton-Tate fez. O que a Oracle comprou uma vez não é comparável ao que faz hoje. Mas variáveis, algoritmos, funções, loops e condições permaneceram na programação desde o início dos anos 80. A menos que o conceito do procedimento tenha caído no esquecimento e tudo permaneça como era nos tempos antigos.
Mesmo as idéias modernas de programação orientada a objetos estão vestidas com os clássicos "grilhos" sintáticos e semânticos do século passado.
O que fazer - a programação é inercial, e a formalização da informação e o desenho de bases de dados de informação é mais um processo do que um resultado. O trabalho encenado é um pré-requisito para alcançar resultados. Mas quem contou o número de iterações dos estágios intermediários quase até o início do trabalho?
A informação é sempre dinâmica, nada fica parado: principalmente a área temática da tarefa e os requisitos do usuário. Cada etapa concluída do trabalho permite avaliar em um novo nível o que já foi feito e o que ainda precisa ser feito.
Considerar projetar uma estrutura de banco de dados como uma tarefa e obter o resultado final é inútil. Assim que o banco de dados for colocado em operação, uma nova ideia certamente aparecerá, mesmo que a ferramenta para criar o banco de dados fosse o Excel "simples", e não um produto fantasticamente poderoso e versátil da Oracle,manipulando milhões de transações, centenas de milhares de usuários simultâneos e terabytes de informações.
A prioridade não é a estrutura do banco de dados, mas a formação de uma equipe qualificada de especialistas, além da obrigatoriedade de maior dinamismo do resultado, para que ao final do trabalho não seja necessário o contato os desenvolvedores, pelo menos alguns meses.
Desenvolvimento sequencial e/ou s altos altos
O Windows não é um banco de dados, mas tem uma relíquia - o registro. O arquivo hosts é simplesmente uma identificação dos endereços IP e nomes simbólicos da máquina local. Mas através deste arquivo são formados fluxos de informações de diferentes domínios ou para diferentes SGBDs.
É possível entender o Windows multifacetado como um computador ou servidor em funcionamento, mas não funcionará de forma alguma para justificar a lógica das versões deste produto. O PHP também não é um banco de dados, mas os argumentos dos desenvolvedores sobre por que a versão 5 segue imediatamente a versão 7 são inconsistentes. PHP é uma ferramenta de acesso MySQL, sua sintaxe define como fazer consultas e obter respostas do banco de dados usando o dialeto SQL.
Exemplos de incompatibilidade entre ferramentas de programação modernas e suporte a banco de dados tornaram-se a norma nos últimos anos, mas este não é o mais original. O que estará por trás da versão do Windows 10? Quais são as perspectivas para o Oracle Database 12c?
Informações do autor-desenvolvedor: Oracle Database 11g Express Edition (Oracle Database XE) é um DBMS básico baseado no código DBMS Oracle Database 11g Release 2. Este DBMS é gratuito para desenvolvimento,implantação e venda, download rápido e fácil de administrar.”
Perspectiva de um desenvolvedor de usuário: “Em 2013, a Oracle lançou o Oracle Database 12c (versão 12.1.0.1) com os principais benefícios de custos de armazenamento mais baixos, alta disponibilidade de dados, fácil consolidação de banco de dados e proteção de acesso a dados "".
Prática Real: Um projeto de banco de dados lógico objetivo, eficiente e eficaz está disponível apenas para uma equipe de desenvolvedores qualificados. Obter um resultado de trabalho não é difícil, é difícil formalizar os fluxos de informações recebidas e determinar a base ideal.
Para o mundo das formas suaves de retângulos precisos
Com o advento da programação orientada a objetos, a serialização de dados ganhou uma nova vida. De fato, tudo ao redor são apenas linhas, de preferência de comprimento indefinido. Números e datas também são cadeias de caracteres.
O poder e a objetividade das relações relacionais é inegável, mas a dinâmica das colunas e linhas prejudica sua reputação? Uma tabela é simplesmente dados que podem ter um cabeçalho (uma lista de colunas) ou nenhuma linha. Deixe a tabela ser apenas uma coleção de dados, não necessariamente nomeada.
O conjunto de dados pode ser heterogêneo e você pode encontrar dados de estrutura diferente nele. Fundamentalmente, a homogeneidade dos dados indica o desenvolvimento do escopo. A distribuição dos dados por tipos e espécies é sinal de uma abordagem sistemática e objetiva, mas ainda é aconselhável admitir a possibilidade de dinâmica de estrutura.
Se saídaprojetar e criar um banco de dados além de estruturas rígidas e assumir que uma tabela é uma coleção de linhas que não são necessariamente do mesmo tipo e semelhantes em semântica entre si, então o design do banco de dados mudará drasticamente.
O tema do trabalho não será a descrição da estrutura do banco de dados, mas a dinâmica da movimentação da informação. As etapas do trabalho serão divididas em três centros de gravidade:
- fluxo de informações de entrada;
- transformação e movimentação de informações dentro do banco de dados;
- selecione os dados a serem usados.
Não existe um conceito de estrutura de tabela. Não há linhas ou colunas. Existe uma abstração - um dado, de uma certa estrutura, que satisfaz um ponto específico do algoritmo. Mais especificamente, a função de processamento de informações requer certas informações em uma quantidade específica.
O requisito obrigatório de recursividade de todas as funções de processamento de informações e foco em funções, não em dados, permite projetar um banco de dados na dinâmica do fluxo de informações acumuladas e de entrada de dados, que são utilizados por iniciativa do usuário, processo ou outra função.
Na verdade: veio um sinal de uso, uma requisição de busca foi recebida, um trigger na aplicação foi disparado e as informações recebidas, através do que já estava lá, forneceram a solução desejada.
Conhecimentos fundamentais e construções rígidas
Conhecimento é prerrogativa do homem, programas são o fardo dos computadores. O desenvolvedor é livre para aplicar o conhecimento como achar melhor em uma situação particular. Uma pessoa comum usa muitos bancos de dados, sem dar importância a isso. Como asos bancos de dados são organizados na cabeça de uma pessoa comum, ninguém sabe, mas todos sabem como ele conduz seus negócios, onde anota o que encontra e quando precisa usar.
O resultado do trabalho do programador - no nível de um programa em "Basic", que recupera dados do site de uma loja online via ODBC, equivale a um desenvolvedor Oracle titulado que faz uma solicitação para buscar dados do MAKS Aviation and Space Salon. Ambos os resultados "congelam" na estática a partir do momento em que o trabalho é concluído. Este não é o conhecimento ativo que uma pessoa usa, este é o segredo da criação de um sistema de design de banco de dados.
O algoritmo não pode ser corrigido. Tudo deve ser definido dinamicamente. Os méritos de desenvolvedores qualificados são inegáveis, mas não estão nas formas elegantes de soluções da Oracle, MySQL ou Access, que são limitadas em suas capacidades. Outra planilha Excel pode fornecer conteúdo dinâmico e não exigir a participação de um programador por um tempo mais ou menos decente após a conclusão do trabalho.
A questão é quão bem formalizada a dinâmica da área de aplicação, não a estrutura do banco de dados.
Soluções ao vivo
É impossível planejar o trabalho de forma a vincular uma equipe de desenvolvedores profissionais a uma tarefa. Não que a equipe tenha se ofendido, mas essa não é a abordagem correta.
A tarefa de projetar um banco de dados deve ser formulada de tal forma que a funcionalidade desenvolvida se aperfeiçoe, acumule conhecimento e, no desempenho de seus “deveres”, parta não do código,criado por especialistas, mas a partir do conhecimento adquirido através deste código.