Administração de Sistemas Operacionais Prof. Marlon Marcon
SGBD SGBD: Sistema de gerenciamento de banco de dados. é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de um(a) base de dados. O SGBD disponibiliza uma interface para que seus clientes possam incluir, alterar ou consultar dados previamente armazenados.
SGBD Os três principais componentes de um SGBD são: Linguagem de definição de dados (especifica conteúdos, estrutura a base de dados e define os elementos de dados); Linguagem de manipulação de dados (para poder alterar os dados na base); Dicionário de dados (guarde definições de elementos de dados e respectivas características descreve os dados, quem os acede, etc.
SGBDs Principais recursos Referential integrity: também conhecido como "integridade referencial", esse recurso consiste em restrições ou regras existentes para uma correta inserção de dados, por exemplo, para impedir que uma tabela seja preenchida sem que isso ocorra em outra; Schemas: recurso que permite cruzar informações em um mesmo banco de dados, mas em estruturas diferentes; SQL: sigla para Structured Query Language, é uma linguagem utilizada em bancos de dados relacionais;
SGBDs Principais recursos SSL: sigla para Secure Sockets Layer, consiste em um protocolo para a troca segura de informações; Stored procedures: esse recurso consiste em comandos SQL "guardados" no servidor para, por exemplo, executar tarefas repetitivas, evitando que um cliente tenha que executá-las constantemente; Transactions: também conhecidas como transações, as transactions são instruções executadas em um bloco designado por parâmetros que indicam seu início e seu fim;
SGBDs Principais recursos - Triggers: também chamados de gatilhos, os triggers são recursos que permitem o acionamento de uma seqüência de comandos logo em seguida ou logo após um evento; Views: os views consistem em um tipo de tabela virtual formada por campos extraídos de uma tabela "verdadeira", facilitando o controle sob os dados acessados.
MySQL O MySQL é um banco de dados extremamente versátil, usado para os mais diversos fins. É possível acessar o banco de dados a partir de um script em PHP, através de um aplicativo desenvolvido em C ou C++, ou praticamente qualquer outra linguagem.
MySQL Em fevereiro de 2008, o MySQL foi comprado pela Sun Microsystems, que pagou a quantia de 1 bilhão de dólares pela aquisição. (Fonte: IDG-Now ) Em Abril de 2009 a Sun foi comprada pela Oracle, pelo valor de 7,4 bilhões de dólares. (Fonte: INFO)
Instalando o MySql Pacote necessário: # apt-get install mysql-server Pode-se instalar também os pacotes "mysql-client" (o cliente que permite acessar os dados e fazer modificações no banco de dados) e o "mysql-navigator" (uma interface gráfica para ele).
Instalando o MySQL Para que o serviço seja configurado para ser carregado durante o boot, ative-o usando o chkconfig: # chkconfig mysqld on
Instalando o MySQL Antes de iniciar o serviço, deve-se rodar o comando "mysql_install_db". Ele prepara o terreno, criando a base de dados "mysql" (usada para armazenar a configuração do servidor MySQL, incluindo informações sobre os usuários e sobre as demais bases de dados) e também uma base de dados chamada "test", que pode ser usada para testar o servidor: # mysql_install_db
Instalando o MySQL O passo seguinte é ativar o servidor MySQL: # /etc/init.d/mysql start
Gerenciamento de usuários no MySql O MySQL possui um usuário padrão chamado "root", que, assim como o root do sistema, tem acesso completo a todas as bases de dados e é usado para fazer a configuração inicial do sistema, assim como tarefas de manutenção. Esta conta inicialmente não tem senha, por isso deve-se definir uma logo depois de iniciar o serviço: # mysqladmin -u root password senha Para trocar a senha deve-se adicionar o argumento u e especificar a nova senha: # mysqladmin -u root -p password nova_senha
Administração básica do banco de dados Existem muitas interfaces de administração para o MySQL, mas a forma mais elementar é usar o prompt de comando. Para acessá-lo, use o comando: # mysql -u root -p <enter>
Criando e visualizando Banco de Dados mysql> CREATE DATABASE phpbb; Query OK, 1 row affected (0.04 sec) Para confirmar, use o comando "SHOW DATABASES", que lista as bases de dados criadas no servidor, como em: mysql> SHOW DATABASES;
Criando e visualizando Banco de Dados As bases "mysql" e "information_schema" são para uso interno do MySQL, incluindo o armazenamento das configurações (sendo um banco de dados, o MySQL usa a si mesmo para armazenar suas configurações; A base "test" é uma DB vazia, que pode ser usada para fins de teste.
Permissões de usuários O ideal é que cada base de dados tenha um usuário próprio e seja acessível apenas por ele. Para criar um usuário, com senha e dar a ele acesso à uma base de dados que criamos, use (dentro do prompt do MySQL) o comando: mysql> GRANT ALL ON base.* TO user IDENTIFIED BY pass'; O comando mysql> FLUSH PRIVILEGES; grava as informações no banco
Outros comandos Criar usuário: mysql> CREATE USER usuario; Remover usuário: mysql> DROP USER usuario; Remover base de dados: mysql> DROP DATABASE usuario;
PostgreSQL É um sistema gerenciador de banco de dados objeto relacional (SGBDOR), desenvolvido como projeto de código aberto.
Instalando o PostgreSQL Pacote necessário: # apt-get install postgresql O PostgreSQL ainda possui um gerenciador gráfico, o pgadmin: #apt-get install pgadmin3
Instalando o PostgreSQL Para iniciar é necessário mudar a senha do usuário postgres, se isso não for realizado não é possível acessar o servidor. Um usuário Linux chamado postgres é criado, e com ele são executados comando psql. #sudo -u postgres psql postgres \password postgres
Gerenciamento de usuários no PostgreSQL Precisamos criar um usuário para o PostgreSQL, digite: # useradd postgres Agora precisamos criar uma senha para este usuário, digite: # passwd postgres
Criando e visualizando Banco de Dados Para criar um banco de dados: sudo -u postgres createdb mydb
Configuração alternativa do servidor A configuração alternativa facilita a configuração: sudo -u postgres createuser --superuser $USER sudo -u postgres psql Atribuir uma senha: postgres=# \password $USER Criar um banco de dados: create database amarokdb;
MySQL x PostgreSQL Ambos são bancos de dados muito robustos, e além disso possuem muitas vantagens em comum, ou seja, para a maioria das aplicações são indiferentes. O PostgreSQL é otimizado para aplicações complexas, isto é, que envolvem grandes volumes de dados ou que tratam de informações críticas. Comércio eletrônico de porte médio/grande
MySQL x PostgreSQL O MySQL, por sua vez, é focado na agilidade. Assim, se sua aplicação necessita de retornos rápidos e não envolve operações complexas, o MySQL é a opção mais adequada, pois é otimizado para proporcionar processamento rápido dos dados e tempo curto de resposta sem exigir muito do hardware. Sites pessoais; Sites empresariais;
MySQL x PostgreSQL Para escolher um destes dois SGBD avalie o hardware disponível, certifique-se das funcionalidades necessárias e, posteriormente, procure por informações mais detalhadas do MySQL e do PostGreSQL.
Guias de instalação Instalação PostgreSQL https://help.ubuntu.com/community/postgresql Instalação MySQL http://www.hardware.com.br/livros/servidoreslinux/instalando-mysql.html