tecnologia em sistemas para internet projeto de banco de dados
Transcrição
tecnologia em sistemas para internet projeto de banco de dados
TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS Exemplos de Scripts SQL (PostgreSQL) Pizzaria 1 TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS 2 TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS Criação de BANCO DE DADOS CREATE DATABASE nome_do_banco; CREATE DATABASE pizzaria; Criação de TABELAS SOMENTE COM CHAVE PRIMÁRIA CREATE TABLE nome_da_tabela ( nome_campo tipo_de_dado NOT NULL, outros_campos tipo_de_dado NOT NULL, CONSTRAINT pk_nome_chave PRIMARY KEY (nome_campo) ); CREATE TABLE pizzaria ( id SERIAL NOT NULL, nome VARCHAR (50) NOT NULL, endereco VARCHAR (100) NOT NULL, telefone CHAR (15) NOT NULL, CONSTRAINT pk_pizzaria PRIMARY KEY (id) ); Ou CREATE TABLE pizzaria ( id SERIAL PRIMARY KEY NOT NULL, nome VARCHAR (50) NOT NULL, endereco VARCHAR (100) NOT NULL, telefone CHAR (15) NOT NULL ); CREATE TABLE pizza ( numero_item SERIAL PRIMARY KEY NOT NULL, nome VARCHAR (20) NOT NULL, preco_peq NUMERIC (15,2) NOT NULL, preco_med NUMERIC (15,2) NOT NULL, preco_grd NUMERIC (15,2) NOT NULL ); CREATE TABLE ingrediente ( id SERIAL PRIMARY KEY NOT NULL, nome VARCHAR (20) NOT NULL, unidade_medida VARCHAR (10) NOT NULL ); Criação de TABELAS COM CHAVE ESTRANGEIRA 3 TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS CREATE TABLE nome_da_tabela ( nome_campo tipo_de_dado NOT NULL, outros_campos tipo_de_dado NOT NULL, CONSTRAINT pk_nome_chave PRIMARY KEY (nome_campo), CONSTRAINT fk_nome_chave FOREIGN KEY (nome_campo) REFERENCES nome_tabela ); CREATE TABLE cardapio ( id SERIAL NOT NULL, nome VARCHAR (15) NOT NULL, id_pizzaria INT NOT NULL, CONSTRAINT pk_cardapio PRIMARY KEY (id), CONSTRAINT fk_cardapio_pizzaria FOREIGN KEY (id_pizzaria) REFERENCES pizzaria ); Ou CREATE TABLE cardapio ( id SERIAL PRIMARY KEY NOT NULL, nome VARCHAR (15) NOT NULL, id_pizzaria INT NOT NULL REFERENCES pizzaria (id) ); Criação de TABELAS DE RELACIONAMENTO CREATE TABLE nome_da_tabela ( campo_1 tipo_de_dado NOT NULL, campo_2 tipo_de_dado NOT NULL, CONSTRAINT pk_nome_chave PRIMARY KEY (campo1, campo_2), CONSTRAINT fk_nome_chave_1 FOREIGN KEY (campo1) REFERENCES nome_tabela_1 CONSTRAINT fk_nome_chave_2 FOREIGN KEY (campo_2) REFERENCES nome_tabela_2 ); CREATE TABLE composicao ( numero_item INT NOT NULL, id_cardapio INT NOT NULL, CONSTRAINT pk_composicao PRIMARY KEY (numero_item, id_cardapio), CONSTRAINT fk_pizza FOREIGN KEY (numero_item) REFERENCES pizza, CONSTRAINT fk_cardapio FOREIGN KEY (id_cardapio) REFERENCES cardapio ); 4 TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS Ou CREATE TABLE composicao ( numero_item INT NOT NULL REFERENCES pizza (numero_item), id_cardapio INT NOT NULL REFERENCES cardapio (id), CONSTRAINT pk_composicao PRIMARY KEY (numero_item, id_cardapio) ); CREATE TABLE ingrediente_pizza ( numero_item INT NOT NULL REFERENCES pizza (numero_item), id_ingrediente INT NOT NULL REFERENCES ingrediente (id), quantidade NUMERIC (15,2) NOT NULL, CONSTRAINT pk_ingrediente_pizza PRIMARY KEY (numero_item, id_ingrediente) ); DML – Data Manipulation Language 2.1 Inclusão de dados - INSERT INSERT INTO tabela (campo1, campo2 ...) VALUES (valor1, valor2...); INSERT INTO pizzaria (nome, endereco, telefone) VALUES ('Minha Pizzaria', 'Rua da Pizza', '04712345678'); OBS.: O campo id não foi adicionado pois ele é gerado automaticamente pelo BD (SERIAL). OBS.: Campos do tipo string ou date devem vir entre apóstrofo. INSERT INTO pizza (nome, preco_peq, preco_med, preco_grd) VALUES ('Calabresa', 10.00, 15.00, 20.00); OBS.: Campos numéricos aparecem SEM ASPAS. INSERT INTO cardapio (nome, id_pizzaria) VALUES ('Primavera', 10) OBS.: Os valores de chave-estrangeira devem ser iguais a valores existentes na tabela referenciada. 2.2 Consulta simples - SELECT 5 TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS SELECT * FROM tabela; SELECT campo1, campo2 ... FROM tabela; SELECT * FROM tabela WHERE campo = valor; SELECT * FROM pizzaria; SELECT nome, telefone FROM pizzaria; SELECT id, nome, telefone FROM pizzaria; SELECT nome, telefone FROM pizzaria WHERE id = 3; 2.3 Alteração de dados – UPDATE UPDATE tabela SET campo1 = valor1, campo2 = valor2 ... WHERE campo = valor; UPDATE pizzaria SET nome = 'Pizza da Nona' WHERE id = 1; OBS.: Na cláusula WHERE são colocados um ou mais campos para seleção dos registros a serem alterados. Normalmente se usa a chave primária. 2.4 Exclusão de registros – DELETE DELETE FROM tabela WHERE campo = valor; DELETE FROM pizzaria WHERE id = 20; OBS.: Cuidado ao usar o DELETE. Não esquecer de colocar a cláusula WHERE, indicando os campos de seleção do registro a ser excluído. 2.5 Consulta com mais de um campo seletor – SELECT, UPDATE e DELETE 6 TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS SELECT * FROM tabela WHERE campo1 = valor1 AND campo2 = valor2; // Pode usar AND ou OR SELECT * FROM pizza WHERE preco_peq > 10.00 AND preco_grd < 30.00; SELECT * FROM pizza WHERE preco_peq >= 10.00 AND preco_grd <= 30.00; SELECT * FROM pizza WHERE preco_peq >= 10.00 OR preco_grd <= 30.00; 2.6 Seleção envolvendo mais de uma tabela Pesquise o use de JOIN Ou, use da seguinte forma: SELECT campos FROM tabela1, tabela2 ... WHERE pk_tabela1 = fk_tabela2; -- Seleciona todos os cardápios de todas as pizzarias SELECT * FROM pizzaria, cardapio WHERE pizzaria.id = cardapio.id_pizzaria; -- Seleciona todas as pizzas, de todos os cardápios, de todas as pizzarias SELECT * FROM pizzaria, cardapio, composicao, pizza WHERE pizzaria.id = cardapio.id_pizzaria AND cardapio.id = composicao.id_cardapio AND pizza.numero_item = composicao.numero_item; SELECT * FROM pizzaria p, cardapio ca, composicao co, pizza pi WHERE p.id = ca.id_pizzaria AND ca.id = co.id_cardapio AND pi.numero_item = co.numero_item; 2.7 Consulta com ORDENAÇÃO 7 TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS SELECT * FROM tabela ORDER BY campo1, campo2; SELECT * FROM pizzaria pi, cardapio ca WHERE pi.id = ca.id_pizzaria ORDER BY pi.nome; 8
Documentos relacionados
MySql Operações com SQL básico continuação
4- Vamos criar uma tabela no banco de dados Teste. Para isto usamos o comando Create Table com a seguinte sintaxe: CREATE TABLE table_name (column_name1 type [modifiers] [, column_name2 type [modif...
Leia mais