Ponavljanje iz 2. razreda - Kreiranje baze podataka i tabela u njoj
Uvod
Ponavljanje 1 - klik na dugme da se prikaže / sakrije sadržaj:
SQL - definicija i neki osnovni pojmovi
SQL je akronim od Structured Query Language (Strukturni upitni jezik). Služi za kreiranje, organizaciju i manipulaciju podacima u relacionim bazama podataka.
Pomoću SQL-a može da se:
- pristupi bazi podataka
- vrše upiti nad bazom podataka
- prikazuju podaci iz baze podataka
- unose novi podaci u bazu podataka
- obrišu postojeći zapisi iz baze podataka
- izmene podaci u bazi podataka
Jezik za rad sa bazama podataka se do 1999 obično delio na podjezike:
- jezik za definisanje podataka (DDL - Data Definition Language)
- jezik za rukovanje podacima (DML - Data Manipulation Language)
- jezik za kontrolu pristupa podacima (DCL - Data Control Language )
Međutim radi se samo o klasama naredbi koje zajedno sačinjavaju sam jezik za rad sa bazom podataka.
Definicija baze podataka:
Pre početka rada sa bazom podataka neophodno je definisati njenu strukturu - koje tabele postoje, koji atributi postoje u tabelama i kog su tipa, koja ograničenja postoje unutar tabela i između njih, koje pomoćne strukture (indeksi) za ubrzanje pristupa podacima postoje i za koje tabele.
Ova komponenta jezika odgovara DDL-jeziku baze podataka (od "Data Definition Language").
Manipulacija bazom podataka:
Pored upita nad bazom podataka, kojima dobijamo željene informacije, neophodno je obezbediti i ažuriranje baze podataka, odnosno unos, izmenu i brisanje podataka. Ova komponenta je u stvari DML-jezik baze podataka (od "Data Manipulation Language").
Kontrola pristupa podacima:
U svakoj bazi podataka neophodno je sotvariti kontrolu koji korisnici imaju pristup kojim podacima i šta mogu da rade sa tim podacima. U prevodu, radi sa grupama i korisnicima, kao i sa pravima pristupa. Ova komponenta predstavlja DCL-jezik baze podataka (od "Data Control Language").
Za nas, i u početku, će biti od interesa DDL i DML.
SQL je u stalnom razvoju.
SQL radi sa tabelama. Tabela se kreira jednom izvršnom naredbom. Odmah po kreiranju tabela je raspoloživa za korišćenje. Svi podaci memorisani su u tabelama i rezultat bilo koje operacije se Iogički prikazuje u obliku tabele.
SQL sesija je pojam koji se koristi da se označi period u kome jedan korisnik (osoba ili aplikacija) izvršava sekvencu SQL naredbi u toku jedne SQL konekcije. SQL konekcija je pojam koji se koristi da se označi da je uspostavljena veza izmedu SQL klijenta i SQL servera.
SQL klijent je korisnik, odnosno aplikacija koji uspostavlja vezu sa SQL serverom. On predstavlja interfejs preko koga se prosleđuju zahtevi SQL serveru i prihvataju rezultati obrade zahteva. SQL server upravlja SQL sesijom. On prihvata zahteve od SQL klijenta, izvršava ih i rezultate prosleđuje klijentu.
* Zanimljivost:
Ispravan izgovor naziva jezika je stalno sporno pitanje u zajednici stručnjaka koji se bave bazama podataka. Američki nacionalni institut za standarde je ustanovio pravilan izgovor imena kao „eskjuel“, međutim, mnogi stručnjaci koji se bave bazama podataka navikli su da izgovaraju „sikvel“, tako da vama prepuštamo izbor.
Postoji nekoliko vrsta SQL-a. Oraklova baza podataka koristi svoju verziju PL/SQL, a SQL server kompanije „Majkrosoft“ koristi Transact-SQL. Sve varijacije se zasnivaju na industrijskom standardu ANSI SQL. Ovaj uvod koristi SQL naredbe usaglašene sa ANSI standardom koji može da se koristi u bilo kom savremenom sistemu baza podataka.
Ponavljanje 2 - klik na dugme da se prikaže / sakrije sadržaj:
Pravila za pisanje imena u SQL-u
Imena tabela, atributa i bilo kojih drugih objekata baze podataka moraju da budu u skladu sa sledećim pravilima:
- Maksimalna dužina imena je 30 znakova
- ime ne sme da sadrži znak pitanja (?),
- dozvoljeni znaci su A-Z, 0-9, _, $, #
- prvi znak mora biti slovo,
- kao imena se ne smeju koristiti rezervisane reči
- imena se ne smeju ponavljati
- nema razlike između velikih i malih slova (ovo poslednje važi uglavnom pod Windowsima, ali ne mora da znači da će važiti na nekim drugim sistemima , i ne uvek pod Linux serverima)
Radi lakšeg čitanja koda, preporučuje se da ključne reči (naredbe) budu napisane velikim slovima, a svi ostali elementi malim slovima.
U nekim bazama niz znakova (string) mora biti napisan kao što je u bazi.
Neke naredbe (DDL):
Ponavljanje 3 - klik na dugme da se prikaže / sakrije sadržaj:
DDL ( Data Definition Language) naredbe (CREATE, USE, DROP, ALTER)
DDL ( Data Definition Language) - ovde spadaju naredbe za definisanje resursa relacione baze podataka. Pod resursima baze podataka se najčešće podrazumevaju: struktura baze podataka, tabele, atributi, tipovi podataka, ograničenja, itd.
Shvatite to u smislu da se sve što je potrebno - kreiranje baza, kreiranje tabela, izmene izgleda i pojedinih delova, brisanje nečega ... - kreira pomoću DDL naredbi.
Definicija neke baze podataka podrazumeva i mogućnost naknadne izmene ili uklanjanja te definicije.
Jezik za definisanje podataka (DDL) sadrži naredbe koje se koriste da bi se kreirale i uništile baze podataka i njihovi objekti.Naredbe u jeziku za definisanje podataka
Jezik za definisanje podataka se koristi da bi se kreirale i uništile baze podataka i njihovi objekti. Te naredbe prvenstveno koriste administratori baza podataka tokom faza uspostavljanja ili uklanjanja baza podataka.
CREATE
Naredba CREATE se koristi za kreiranje baze podataka i tabela u njoj
CREATE DATABASE semenke;
kreira praznu bazu podataka koja se zove „semenke“ na vašem sistemu za upravljanje bazama podataka. Pošto ste kreirali bazu podataka, sledeći korak bi bio kreiranje tabela koje će sadržati podatke.
USE semenke;
CREATE TABLE slaneSemenke
(
RedniBroj INT PRIMARY KEY,
Naziv VARCHAR(255),
Cena INT
);
Ovim se kreira tabela pod nazivom "slaneSemenke" u bazi podataka "semenke". U ovom primeru, tabela sadrži tri atributa: RedniBroj, Naziv i Cena. Redni broj je postavljen da je primarni ključ - info kojim se jedinstveno određuje svaka od semenki u tabeli
USE
Naredba USE vam omogućava da odredite bazu podataka u kojoj želite da radite u okviru vašeg sistema za upravljanje bazama podataka.
USE semenke;
Izuzetno je važno da uvek budete svesni u kojoj bazi podataka radite pre nego što izdate naredbe u SQL-u kojima manipulišete podacima.
ALTER
Naredba ALTER omogućava da izvršite promene u strukturi tabele, a da pri tom ne morate da je obrišete ili ponovo kreirate.
ALTER TABLE slaneSemenke
ADD ZemljaPorekla VARCHAR(255);
U ovom primeru dodali smo novi atribut tabeli slaneSemenke, a to je zemljaPorekla. Argument "VARCHAR" određuje da je u pitanju tekst od maksimalno 255 karaktera
DROP
DROP, omogućava da uklonite celokupne objekte baze podataka iz sistema za upravljanje bazama podataka.
Ako želite da trajno uklonite bazu koju ste kreirali:
DROP DATABASE BazaKnjiga;
Ako želite da trajno uklonite tabelu koju ste kreirali:
DROP TABLE slaneSemenke;
Vežba 1: kreiranje baze podataka ( i izbor iste )
Kreiranje baze podataka se odnosi na kreiranje nove prazne baze podataka sa svim potrebnim elementima tako da je posle toga moguć rad sa njom. Kreiranje baze podataka se u SQL jeziku vrši naredbom CREATE DATABASE
Da bi se kreirala baza podataka, potrebno je ukucati sledeće:
CREATE DATABASE biblioteka;
Ovom naredbom je kreirana nova prazna baza podataka pod imenom biblioteka. Sada je moguće koristiti ovu bazu za dalji rad. Sve što je potrebno jeste izabrati bazu sa kojom se radi. Samim kreiranjem baze ne podrazumeva se da je ona automatski izabrana, pa je zbog toga potrebno ukucati sledeću naredbu:
USE biblioteka;
Ovom naredbom je izabrana baza podataka pod imenom biblioteka sa kojom će se raditi. ( Ovo je kao kada se u nekom programu izabere opcija Open, a zatim se izabere određeni fajl za otvaranje )
!!!! ::::: U toku vežbi, da biste mogli da radite da svojom bazom podataka, ne zaboravite da ukucate
USE ime_vaše_baze !!!
(Ako je sve ok, izvrši se naredba, postoji baza, ispisuje se poruka o uspešnom pristupu bazi, ali ako na serveru ne postoji baza sa datim imenom, ispisuje se poruka o grešci ).
Vežba 2: kreiranje i uklanjanje (brisanje) baze podataka
PRVO - Kreirati baze podataka BazaKnjiga i "Baza knjiga":
CREATE DATABASE BazaKnjiga;
CREATE DATABASE "Baza knjiga";
Ovim su kreirane dve baze podataka. Prva je sa nazivom BazaKnjiga, a druga u nazivu ima dve reči i tada moramo koristiti navodnike!
Preporuka je da se kao naziv baze koristi jedna reč (bez razmaka između).
DRUGO - Ukloniti jednu od baza podataka:
DROP DATABASE "Baza knjiga";
Vežba 3:
PRVI DEO: Kreirati bazu podataka semenke i u njoj dve tabele: slaneSemenke i slatkeGrickalice:
CREATE DATABASE semenke;
USE semenke;
CREATE TABLE SlaneSemenke
(
RedniBroj INT PRIMARY KEY,
Naziv VARCHAR(255),
Cena INT
);
CREATE TABLE SlatkeGrickalice
(
Rbr INT PRIMARY KEY,
Naziv VARCHAR(255),
ZemljaPorekla VARCHAR(255)
);
DRUGI DEO: U tabelu slaneSemenke uneti neke podatke:
USE semenke;
INSERT INTO SlaneSemenke VALUES
(1, 'kikiriki', 200),
(2, 'bundeva', 300),
(13, 'leblebija', null);
TREĆI DEO: Iz baze ukloniti tabelu SlatkeGrickalice:
USE semenke;
DROP TABLE SlatkeGrickalice;
ČETVRTI DEO: Izmeniti tabelu slaneSemenke tako što će se u nju dodati zemlja porekla:
USE semenke;
ALTER TABLE SlneSemenke
ADD ZemljaPorekla VARCHAR(200);