• Nenhum resultado encontrado

Confirmar a criação e verificar a estrutura

No documento Banco de Dados I modulo II (páginas 71-76)

Acesse o endereço <http://localhost/home/mysql>. Do lado esquer- do, você verá o(s) banco(s) de dado(s) já criado(s). Clique no banco de dados que você criou – se você seguiu o exemplo deste livro, o banco de dados é o ‘‘padaria-silva’’.

Aparecerão, então, todas as tabelas que você criou na modelagem. Para mostrar seus respectivos campos, clique no ícone ‘‘Structure” e, para

mostrar os valores que estão inseridos nos campos, clique em “Browse”.

Ambos os botões localizam-se ao lado de cada tabela.

Pelo PhpMyAdmin, você também pode alterar a estrutura do banco, tabelas e inserir ou excluir dados e, posteriormente, fazer a engenha- ria reversa para a modelagem no MySQL Workbench, mas sugere-se

executar essas alterações sempre em lugar único, na ferramenta case que

você desejar e, posteriormente, sincronizá-las com o banco de dados. Conforme você já aprendeu, o SGBD MySQL gerencia os bancos de dados por meio de scripts SQL. O que o MySQL Workbench faz nada

mais é do que transformar a modelagem e os dados inseridos nesses

scripts para que sejam entendíveis pelo MySQL, facilitando seu trabalho

e evitando que você tenha de confeccionar o script com todos os coman-

dos manualmente.

Repare que esse processo poderá ser executado a qualquer momento, mesmo depois de ter sido executado pela primeira vez. Por exemplo, se depois de criada a estrutura e inseridos os dados você precisar alterá- -los, faça isso na modelagem, exclua ou inclua tabelas e campos, altere relacionamentos, chaves primárias, insira, altere ou exclua dados e sin- cronize-os novamente. Você perceberá que suas alterações se refletirão no banco de dados.

Mas, além de consultas, é possível manipular dados e definições de es- trutura e de segurança do banco de dados utilizando SQL. Esse é o tema da próxima unidade. Aproveite as aulas para trocar ideias com o profes- sor. Não fique com dúvidas.

Unidade de

estudo 13

Seções de estudo

Seção 1 – O que é SQL Seção 2 – Breve histórico Seção 3 – O funcionamento Seção 4 – DDL

Seção 5 – DML Seção 6 – DCL

SQL

SEÇÃO 1

O que é SQL

SQL significa Structure Query Lan- guage, em português, Linguagem

de Consulta Estruturada. Foi de- senvolvida especificamente para o padrão relacional de dados e permite não somente consultas, como o nome indica, mas tam- bém manipulação de dados e definições de estrutura e de segu- rança do banco de dados. Além do MySQL, há vários SGBDs atualmente que utilizam a lingua- gem SQL como padrão para a manutenção e gerenciamento de seus bancos de dados, entre eles Firebird, Microsoft SQL Server, PostgreeSQL, ORACLE.

Segundo Korth, Silverschatz e Sudarshan (1999), a SQL utiliza uma combinação de construtores em álgebra e cálculo relacional e é a linguagem comercial mais utili- zada do mercado, já que apresenta certa facilidade para seus usuários. A intenção deste livro, assim como no caso das ferramentas

case e do MySQL, não é apresen-

tar um tutorial ou guia completo para os usuários, desenvolvedo- res ou administradores do ban- co, mas apresentar conceitos e sintaxes básicas para um breve entendimento dos fundamentos dessa linguagem. Conceitos mais avançados dessa linguagem são detalhados no livro de Banco de Dados II.

SEÇÃO 2

Breve histórico

A primeira versão do SQL foi desenvolvida no início dos anos 1970, com o patrocínio da em- presa IBM. Fundamentava-se no modelo relacional de dados e chamava-se SEQUEL, que sig- nifica Structure English Query Lan- guage. Segundo Abreu e Machado

(2004), a partir de 1976, essa lin- guagem foi revisada e ampliada e, por razões jurídicas, teve seu nome alterado para SQL.

Por volta de 1986, os padrões para a SQL foram renovados pela In- ternational Standarts Organization

(ISO) e pelo American National Standards Institute (ANSI) e publi-

cados no mercado como SQL-86. A partir daí, uma série de revisões foram feitas por essas duas enti- dades e por outras.

A empresa IBM personalizou a então versão em 1989 e lançou seu próprio padrão, nomeado de SQL-89. A partir de 1992, a ANSI e a ISO revisaram diversas vezes suas versões e lançaram no mer- cado o padrão SQL-92 em 1992, o SQL3 em 1999 e os padrões SQL: 2003 e SQL: 2008 em 2003 e 2008, respectivamente. Nessas últimas versões, foram adicio- nadas algumas características de orientação a objetos, melhorados os métodos de consultas com a utilização de consultas recursivas e iniciada a utilização de gatilhos.

SEÇÃO 3

O funcionamento

Ainda que a SQL tenha sido pa- dronizada pelo ANSI e pela ISO, diversos fabricantes de SGBDs a adaptaram para seus próprios aplicativos. Dessa forma, alguns conceitos apresentados aqui po- dem variar de SGBD para SGBD, mas foco estará nos padrões atu- ais da ANSI, que se aplicam entre outros, ao MySQL.

Dentro da SQL, há várias funções e comandos que são divididos em grupos. Os mais conhecidos e uti- lizados grupos de comandos são DDL, DML e DCL, assunto para as três próximas seções, nas quais serão observadas suas característi- cas e sintaxes.

SEÇÃO 4

Comandos DDL

DDL significa Data Definition Lan- guage, em português, Linguagem

de Definição de Dados. Repre- senta o conjunto de comandos que permite criação, alteração e exclusão da estrutura das tabelas do banco (SILVA, 2001), ou seja, define como os dados são estru- turados.

Alguns exemplos de comandos DDL são: CREATE, ALTER e DROP.

74 CURSOS TÉCNICOS SENAI

CREATE

O comando CREATE cria um objeto, que pode ser uma tabela ou até mesmo um banco de dados. Sua sintaxe para criação de novos bancos de dados é: CREATE DATABASE “nome do banco de dados” Onde “nome do banco de dados”, que deve ser substituída pelo nome do seu banco de da- dos, sem aspas. Exemplo:

CREATE DATABASE padaria- -silva

Já a criação de novas tabelas den- tro do banco de dados é represen- tada com a seguinte sintaxe: CRE- ATE TABLE “nome da tabela” ( ‘‘Descrição do campo 1’’

‘‘Descrição das chaves’’ )

Exemplo:

CREATE TABLE produto ( cd_produto INT not null, nm_produto VAR- CHAR(20),

PRIMARY KEY (cd_produto) )

Onde cd_produto e nm_produto representam os nomes dos cam- pos, INT e VARCHAR o tipo do campo, nesse caso, respectiva- mente campos dos tipos números inteiros e do tipo letras e números com no máximo 20 caracteres.

Primary Key representa a definição

da chave primária que, no caso dessa tabela, é o atributo cd_pro- duto (código do produto).

Agora será observada a criação de duas tabelas que possuem relacio- namentos de N para 1, nas quais, ao lado N, haverá uma chave es- trangeira (FK), que, conforme você já aprendeu, é sempre a PK da outra tabela que representa o lado 1 do relacionamento.

Serão criadas as tabelas empresa e cliente do banco de dados da então padaria-silva. Você já sabe que empresa se relaciona com os clientes de 1 para N, então será criado primeiramente o lado 1 dessa relação, que é a tabela em- presa, com apenas três atributos:

CREATE TABLE empresa ( cd_empresa INT not null, nm_empresa VARCHAR(40),

ds_endereco VAR-

CHAR(50),

PRIMARY KEY (cd_produto) )

Após o lado 1, cria-se o lado N do relacionamento. Para isso, é preciso adicionar mais um atribu- to, que será a FK, acrescentando a sintaxe a seguir na parte de defini- ção das chaves:

CONSTRAINT “nome da cons- traint” FOREIGN KEY (‘‘nome do atributo’’)

REFERENCES ‘‘nome da tabe-

la a qual este atributo é a PK (‘‘nome desse campo dentro dessa tabela”).

Dessa forma, toda a sintaxe de criação dessa tabela fica:

CREATE TABLE cliente ( cd_cliente INT not null, nm_cliente VARCAHR(20), dt_nascimento DATE, cd_empresa INT,

PRIMARY KEY (cd_produto), CONSTRAINT c1 FOREIGN KEY (cd_empresa) REFERENCES empresa(cd_empresa) )

Repare que o atributo de FK da tabela cliente deve ser do mesmo tipo que está configurado na tabe- la empresa.

Agora você acabou de criar um relacionamento de N para 1 entre as tabelas Cliente e Empresa. A sintaxe CONSTRAINT significa res- trição e impede que o usuário insira no campo de chave estrangeira um valor que seja diferente de quais- quer valores inseridos na PK da ta- bela empresa.

Observe também que o nome c1 não representa nenhum atributo ou tabela: é simplesmente o nome dado para a restrição criada. Exemplificando: se há uma em- presa ‘‘Padaria Silva’’ de código 01, cadastrada na tabela empresa, quando for cadastrado o cliente, o usuário nunca poderá inserir no campo cd_empresa da tabela cliente o código 02, pois isso sig- nificaria que o cliente é da empre- sa de código 02, a qual não existe.

DROP

Já que foi possível criar o banco de dados e as tabelas via coman- dos SQL, logicamente é possível excluí-las também via comandos SQL. Para isso, utiliza-se o co- mando DROP, que possui a sin- taxe a seguir:

DROP DATABASE “nome do banco de dados”

DROP TABLE “nome da tabela” Exemplos:

DROP DATABASE padaria-silva (para excluir o banco de dados padaria-silva)

DROP TABLE produto (para ex- cluir a tabela produto)

ALTER

Veja a sintaxe do comando AL- TER, que altera a estrutura de uma tabela:

ALTER TABLE “nome da tabe- la”(

ADD COLUMN “nome do cam- po” );

Exemplo:

ALTER TABLE produto (

ADD COLUMN ds_produto VARCHAR(50) );

Nesse caso, o campo ds_produto está sendo adicionado na tabela produto, porém é possível excluir campos substituindo o ADD pelo DROP, renomear campos e ta- belas substituindo o ADD pelo RENAME, alterar colunas substi- tuindo pelo CHANGE etc.

SEÇÃO 5

No documento Banco de Dados I modulo II (páginas 71-76)

Documentos relacionados